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


Posted in PHP onJune 12, 2019

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

<?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 模式设置进程名称的方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
风格模板初级不完全修改教程
Oct 09 PHP
mysql5写入和读出乱码解决
Nov 25 PHP
mysql 性能的检查和优化方法
Jun 21 PHP
关于php支持分块与断点续传文件下载功能代码
May 09 PHP
thinkphp模板用法和内容输出实例
Nov 28 PHP
PHP中使用CURL获取页面title例子
Jan 07 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
php实现数组重复数字统计实例
Sep 30 PHP
php如何比较两个浮点数是否相等详解
Feb 12 PHP
thinkphp5使用无限极分类
Feb 18 PHP
PHP常用函数之base64图片上传功能详解
Oct 21 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
Jun 12 #PHP
PHP面向对象程序设计之对象的遍历操作示例
Jun 12 #PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
Jun 12 #PHP
PHP下用Swoole实现Actor并发模型的方法
Jun 12 #PHP
PHP面向对象类型约束用法分析
Jun 12 #PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
Jun 12 #PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 #PHP
You might like
第三节 定义一个类 [3]
2006/10/09 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
PHP实现删除字符串中任何字符的函数
2015/08/11 PHP
Yii2使用自带的UploadedFile实现的文件上传
2016/06/20 PHP
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
react开发中如何使用require.ensure加载es6风格的组件
2017/05/09 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
2019/05/12 jQuery
vue实现列表拖拽排序的功能
2020/11/02 Javascript
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
python中os操作文件及文件路径实例汇总
2015/01/15 Python
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
Python表示矩阵的方法分析
2017/05/26 Python
python ddt实现数据驱动
2018/03/14 Python
pandas 实现字典转换成DataFrame的方法
2018/07/04 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
django 使用全局搜索功能的实例详解
2019/07/18 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
python自动提取文本中的时间(包含中文日期)
2020/08/31 Python
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
JMS中Topic和Queue有什么区别
2013/05/15 面试题
物业电工岗位职责
2013/11/20 职场文书
党校学习个人总结
2015/02/15 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
医务人员医德医风心得体会
2016/01/25 职场文书
房屋买卖定金协议书
2016/03/21 职场文书