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 相关文章推荐
允许phpmyadmin空密码登录的配置方法
May 29 PHP
PHP 设计模式之观察者模式介绍
Feb 22 PHP
解析php中memcache的应用
Jun 18 PHP
PHP 过滤页面中的BOM(实现代码)
Jun 29 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
Jun 26 PHP
php查询mysql数据库并将结果保存到数组的方法
Mar 18 PHP
PHP多态代码实例
Jun 26 PHP
ThinkPHP静态缓存简单配置和使用方法详解
Mar 23 PHP
微信自定义分享php代码分析
Nov 24 PHP
php die()与exit()的区别实例详解
Dec 03 PHP
CI(CodeIgniter)框架实现图片上传的方法
Mar 24 PHP
PHP面向对象程序设计之构造方法和析构方法详解
Jun 13 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
PHP出错界面
2006/10/09 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
2019/04/11 PHP
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
情人节之礼 js项链效果
2012/02/13 Javascript
很好用的js日历算法详细代码
2013/03/07 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
返回页面顶部top按钮通过锚点实现(自写)
2013/08/30 Javascript
jquery ajax跨域解决方法(json方式)
2014/02/04 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
jQuery查找节点方法完整实例
2016/09/13 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
Python 实现选择排序的算法步骤
2018/04/22 Python
Python 2.7中文显示与处理方法
2018/07/16 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
python实现无边框进度条的实例代码
2020/12/30 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
餐厅经理岗位职责范本
2014/02/17 职场文书
先进个人评语大全
2015/01/04 职场文书
2015年村级财务管理制度
2015/08/04 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
MySQL锁机制
2021/04/05 MySQL