PHP脚本设置及获取进程名

PHP脚本设置及获取进程名

今天来学习的是两个非常简单的函数,一个可以用来设置我们执行脚本时运行的进程名。而另一个就是简单的获取当前运行的进程名。这两个函数对于大量的脚本运行代码有很大的作用,比如我们需要 kill 掉某个进程时,可以直接使用我们自己定义的进程名来进行操作。

设置进程名

cli_set_process_title("test");

非常简单吧,只有一个参数,那就是要定义的变量名称。在运行起来后,我们使用 sleep() 让程序挂载一段时间,然后再开一个终端来查看当前的进程信息。

ps -ef | grep test
# root     32172 31511  0 09:03 pts/0    00:00:00 test

top -p 32172 -c
# 32198 root      20   0  113100  18052  13088 S   0.0   0.2   0:00.00 test

可以看到,不管是使用 ps 还是使用 top ,都可以看到相应的进程名称为 test 的进程。这样,就完成了进程名称的自定义。

获取进程名

echo "Process title: " . cli_get_process_title() . "\n";
// Process title: test

同样的,获取当前进程名的函数也非常地简单,直接调用即可。它就会正常输出当前执行脚本的进程名称。

如果我们没有自定义进程名称呢?这里就不会有任何的输出,大家可以自己尝试一下。

注意事项

最后来说说这两个函数的注意事项。

一是如果使用的是 Mac OS 系统,会提示:

// Warning: cli_set_process_title(): cli_set_process_title had an error: Not initialized correctly 

也就是说这两个函数在 Mac 下面是无法正常使用的,我的测试环境是 CentOS ,是可以正常使用的。Windows 环境没有进行测试,正常情况下也很少会有人在 Windows 环境下挂后台执行脚本,所以有兴趣的同学可以自己测试下。

二是进程名可以是中文!!!是不是感觉很高大上。

三是这两个函数仅针对 CLI 运行环境。也就是说,在 CGI 正常网页运行的状态下这两个函数是没有效果的。

测试代码:

https://github.com/zhangyue0503/dev-blog/blob/master/php/202005/source/PHP%E8%84%9A%E6%9C%AC%E8%AE%BE%E7%BD%AE%E5%8F%8A%E8%8E%B7%E5%8F%96%E8%BF%9B%E7%A8%8B%E5%90%8D.php

参考文档:

https://www.php.net/manual/zh/function.cli-set-process-title.php

https://www.php.net/manual/zh/function.cli-get-process-title.php

2021-05-28 原文

PHP脚本设置及获取进程名的相关文章

[PHP小课堂]PHP脚本设置及获取进程名

[PHP小课堂]PHP脚本设置及获取进程名 关注公众号:[硬核项目经理]获取最新文章 添加微信/QQ好友:[xiaoyuezigonggong/149844827]免费得PHP.项目管理学习资料 知乎 ...

老毛子PADAVAN固件IPV6设置&上海联通获取PD前缀让局域网设备获取全球唯一IPV6地址

 本帖最后由 edger 于 2020-6-21 15:49 编辑 本文目的:完成IPV6设置,让局域内设备获取全球唯一的原生ipv6地址,解决路由LAN口无IPV6地址的问题. 在写老毛子固件IPV ...

苹果手机能免费看电影,教你这样设置,快捷指令获取很简单!

苹果手机能免费看电影,教你这样设置,快捷指令获取很简单!

通达信代码自动编程,脚本编写,条件参数设置,详细讲解教程

通达信代码自动编程,脚本编写,条件参数设置,详细讲解教程

央视曝旧手机恢复出厂设置数据仍能被获取,这可咋办?

随着智能手机更新迭代步伐的加快,尤其是5G时代到来引发的换机潮,越来越多的二手旧手机将回收并再次流入市场销售.央视新闻近日提到一个我们生活中非常容易忽视的问题--二手旧手机原机主的信息安全.报道称,商 ...

获取用户信息脚本

#! /bin/bashread -p "请输入要查询的用户名:" Aecho "------------------------------"n=`cat / ...

Linux Shell脚本实现根据进程名杀死进程

#!/bin/sh#根据进程名杀死进程if [ $# -lt 1 ]then echo "缺少参数:procedure_name" exit 1fi PROCESS=`ps -ef ...

摄影丨嘘,这些单反参数设置你快偷偷收好!

单反参数根据不同的场合.拍摄时间.拍摄对象来进行设置,需要经过长时间的实践来琢磨: 当然,还是对于一些经常出入镜头的"小场景",还是有一定的小技巧滴,特别是不喜欢P档.微距.人像. ...

电脑关机设置电脑定时关机

电脑关机设置电脑定时关机