PHP Cli 模式设置进程名称的方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-11-25 15:16:52 浏览: 评论:0
这篇文章主要介绍了PHP Cli 模式设置进程名称的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下。
最近一直在优化自己的 PHP 多进程管理工具,GitHub 地址: https://github.com/fingerQin/phpthread
通过命令启动之后,它在系统后台运行的名称如下:
- [root@localhost logs]# ps -ef|grep "Event/register"
- root 1358 1356 0 19:50 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
- root 1482 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
- root 1483 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
- root 1484 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
- root 1486 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
- root 1487 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
- root 1499 1240 0 19:56 pts/1 00:00:00 grep --color=auto Event/register
大家可以看到,它会把我们执行 PHP 脚本的整个命令路径全部显示出来,没办法伪装成一个特殊的名称,或者说优雅的名称。
查阅相关资料,其实 PHP 早已经支持这种操作。
一、proctitle 扩展实现
在 PHP 5.5.0 版本之前,只能通过 proctitle 扩展实现,下载地址: http://pecl.php.net/package/proctitle
关于安装这种 PHP C 扩展,这里就不展示说明,关于 PHP C 扩展的教程很多。
proctitle 扩展安装好之后,通过该扩展提供的 setproctitle 方法实现自定义进程名称。
process.php
- <?php
- setproctitle("NewProcess");
- sleep(30);
此时我们命令运行脚本:
$php process.php
脚本会睡眠 30 秒。此时我们另开一个终端去查看该进程的名称,会发现该扩展名称已经被修改为:"NewProcess"。
由于该扩展已经 7 年未更新。所以,不推荐使用。
二、cli_set_process_title 方法实现
从 PHP 5.5.0 开始,PHP 已经内置了 cli_set_process_title 方法来解决这个重置进程名称的函数。我只能说,太贴心了。
使用也简单。
process2.php
cli_set_process_title("NewProcess");
sleep(30);
执行该脚本之后,咱们依然别启一个命令终端查看:
[root@localhost public]# ps -ef|grep NewProcess
root 10489 1240 0 09:49 pts/1 00:00:00 NewProcess
root 10496 1221 0 09:50 pts/0 00:00:00 grep --color=auto NewProcess
我们可以看到,已经生效了。
它就是如此简单,以后我们可以将该进程名称优雅化,也可以以此来伪装隐藏自己,总之,你可以用这个神奇的名字干你想干的事情。
Tags: Cli模式设置进程 PHP模式进程
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)