前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP Cli 模式设置进程名称的方法

PHP Cli 模式设置进程名称的方法

作者头像
砸漏
发布2020-10-29 10:20:33
1.2K0
发布2020-10-29 10:20:33
举报
文章被收录于专栏:恩蓝脚本

最近一直在优化自己的 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

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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

我们可以看到。已经生效了。

它就是如此简单。以后我们可以将该进程名称优雅化。也可以以此来伪装隐藏自己。总之,你可以用这个神奇的名字干你想干的事情。

总结

以上所述是小编给大家介绍的PHP Cli 模式设置进程名称的方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档