关于php:PHP脚本设置及获取进程名

36次阅读

共计 1188 个字符,预计需要花费 3 分钟才能阅读完成。

明天来学习的是两个非常简单的函数,一个能够用来设置咱们执行脚本时运行的过程名。而另一个就是简略的获取以后运行的过程名。这两个函数对于大量的脚本运行代码有很大的作用,比方咱们须要 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

各自媒体平台均可搜寻【硬核项目经理】

正文完
 0