[发明专利]利用进程文件系统标记程序进程的方法、装置和设备有效
申请号: | 201810118610.X | 申请日: | 2018-02-06 |
公开(公告)号: | CN108415736B | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 黄旭 | 申请(专利权)人: | 新浪网技术(中国)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京卓岚智财知识产权代理事务所(特殊普通合伙) 11624 | 代理人: | 任漱晨 |
地址: | 100193 北京市海淀区东北旺西路中关村*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 进程 文件系统 标记 程序 方法 装置 设备 | ||
本发明实施例提供一种利用进程文件系统标记程序进程的方法、装置和设备,该方法包括:对需要静态标记的程序,在程序启动前,在环境变量中写入标记变量,在被标记的程序开始运行前,在当前进程环境变量列表中读取所述环境变量,从所述环境变量的标记变量字段中读出程序进程标识,再启动被标记的程序进程;对需要动态标记的程序,在程序中载入预先设置的程序标记代码,通过载入的程序标记代码打开约定目录中的指定文件名称的标记文件,查找到进程已打开的文件列表中该标记文件的链接。能够方便的对程序进程进行标记,不受限于进程所支持的类型,通用性强,查找方便,能够有效地对进程进行标记识别。
技术领域
本发明涉及网络技术领域,尤指一种linux系统中利用进程文件系统(procfs)标记程序进程的方法、装置和设备。
背景技术
linux主机上经常需要运行多个超文本预处理器(Hypertext Preprocessor,PHP)的cli程序,即产生多个PHP进程。每个进程带有自己的进程标识(pid)。经常地,出于管理需要,可能需要通过外部或让PHP自身对相关进程进行标识。例如区分不同的项目等,都需要这种机制。
目前通用的标记PHP进程方法主要有以下几种:
1、使用不同的用户标识(uid或gid)来标识不同的进程,或者,在支持控制族群(cgroup)的基础上,使用不同的cgroup来标识不同的进程。但这种方式不是随处可用的。例如,系统并不支持cgroup,或者,系统的同一个用户运行了大量的进程等等情况下,将不能通过这种方式对不同的进程进行标识,因此这种方式的应用场景比较受限。
2、使用不同的路径,通过查找路径的方法推断相关标识,路径不同的进程,认为是不同的进程。但这种方式,用户可能调用用于改变当前工作目录的chdir函数(用来将当前的工作目录改变成指定的目录)或类似的机制改变当前目录,从而导致路径和进程的对应关系可能并不唯一,因此不能有效的实现对不同进程的标记。
3、通过日志或类似的方法,将相关标识存储在其他地方,需要关联时再通过pid查询,从而实现区分不同的进程。但这种方式,由于日志具有不可靠性,例如旧的日志可能会被删除,或者正需要管理时日志或类似的服务不可用,或者日志正在更新等等,同时也可能出现日志服务开销过大、管理困难等问题,因此,也不能有效的实现对不同进程的标记。
由此可见,现有技术中用于标记进程的方法,程序无法有效地标记自身,或者启动后就无法方便地修改标识,其查表的方式也不是很方便处理。因此,现有技术中没有有效的标记进程的方式,不能有效的实现对进程的标记。
发明内容
本发明实施例提供一种利用进程文件系统标记PHP进程的方法、装置和设备,用以解决现有技术中存在的不能有效的标记PHP进程的问题。
一方面,本发明实施例提供了一种利用进程文件系统标记PHP进程的方法,包括:
针对需要静态标记的程序,在程序启动前,在环境变量中写入标记变量,在被静态标记的程序开始运行前,在当前进程环境变量列表中读取所述环境变量,从所述环境变量的标记变量字段中读出程序进程标识,再启动被标记的程序进程;
针对需要动态标记的程序,在程序中载入预先设置的程序标记代码,通过载入的程序标记代码打开约定目录中指定文件名称的标记文件,查找程序进程已打开的文件列表中该标记文件的链接。
在一些可选的实施例中,所述在程序启动前,在环境变量中写入标记变量,包括:
在程序启动前,通过shell脚本写入键值形式的标记变量;或者将标记变量写在周期性执行的工作排程crontab文件中;或者将标记变量写到对应的系统守护进程systemd配置文件中。
在一些可选的实施例中,所述在程序中载入预先设置的程序标记代码,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新浪网技术(中国)有限公司,未经新浪网技术(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810118610.X/2.html,转载请声明来源钻瓜专利网。