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 相关文章推荐
IIS环境下快速安装、配置和调试PHP5.2.0
Dec 17 PHP
PHP文件锁定写入实例解析
Jul 14 PHP
php获取Google机器人访问足迹的方法
Apr 15 PHP
php自定义hash函数实例
May 05 PHP
PHP中的traits简单使用实例
May 13 PHP
使用ltrace工具跟踪PHP库函数调用的方法
Apr 25 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
Apr 28 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
Jun 12 PHP
iis 7下安装laravel 5.4环境的方法教程
Jun 14 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
Sep 16 PHP
Laravel 实现添加多语言提示信息
Oct 25 PHP
PHP ob缓存以及ob函数原理实例解析
Nov 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伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
PHP EOT定界符的使用详解
2008/09/30 PHP
JS setCapture 区域外事件捕捉
2010/03/18 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
js实现获取div坐标的方法
2015/11/16 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
vue+vux实现移动端文件上传样式
2017/07/28 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
vue复合组件实现注册表单功能
2017/11/06 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
Vue.js中的computed工作原理
2018/03/22 Javascript
4个顶级开源JavaScript图表库
2018/09/29 Javascript
详解vue组件中使用路由方法
2019/02/12 Javascript
el-select数据过多懒加载的解决(loadmore)
2019/05/29 Javascript
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
js代码编写无缝轮播图
2020/09/13 Javascript
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
Python切片工具pillow用法示例
2018/03/30 Python
Python+OpenCV目标跟踪实现基本的运动检测
2018/07/10 Python
python 检查是否为中文字符串的方法
2018/12/28 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
python爬取内容存入Excel实例
2019/02/20 Python
Python requests模块cookie实例解析
2020/04/14 Python
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
Kiehl’s科颜氏西班牙官方网站:源自美国的植物护肤品牌
2020/02/22 全球购物
《记金华的双龙洞》教学反思
2014/04/19 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
2014幼儿园中班工作总结
2014/11/10 职场文书
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python
Django框架中视图的用法
2022/06/10 Python