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 相关文章推荐
配置PHP使之能同时支持GIF和JPEG
Oct 09 PHP
UCenter中的一个可逆加密函数authcode函数代码
Jul 20 PHP
PHP static局部静态变量和全局静态变量总结
Mar 02 PHP
PHP ignore_user_abort函数详细介绍和使用实例
Jul 15 PHP
php的GD库imagettftext函数解决中文乱码问题
Jan 24 PHP
php多次include后导致全局变量global失效的解决方法
Feb 28 PHP
PHP微信开发之模板消息回复
Jun 24 PHP
postman的安装与使用方法(模拟Get和Post请求)
Aug 06 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
Mar 21 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 PHP
PHP7原生MySQL数据库操作实现代码
Jul 03 PHP
php实现自动生成验证码的实例讲解
Nov 17 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你的验证码安全码?
2007/01/02 PHP
php中删除字符串中最先出现某个字符的实现代码
2013/02/03 PHP
php中return的用法实例分析
2015/02/28 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
php处理带有中文URL的方法
2016/07/11 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
javascript模拟select,jselect的方法实现
2012/11/08 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
javaScript面向对象继承方法经典实现
2013/08/20 Javascript
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
AngularJS Ajax详解及示例代码
2016/08/17 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
python将txt文档每行内容循环插入数据库的方法
2018/12/28 Python
深入理解Django-Signals信号量
2019/02/19 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
2019/03/01 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
Django中使用Celery的方法步骤
2020/12/07 Python
Flask处理Web表单的实现方法
2021/01/31 Python
英国骑行、跑步、游泳、铁人三项运动装备专卖店:Wiggle
2016/08/23 全球购物
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
分公司负责人任命书
2014/06/04 职场文书
2014年财务个人工作总结
2014/12/08 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
敬业奉献模范事迹材料(2016精选版)
2016/02/26 职场文书
iPhone13再次曝光
2021/04/15 数码科技