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
php入门学习知识点七 PHP函数的基本应用
Jul 14 PHP
PHP set_error_handler()函数使用详解(示例)
Nov 12 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
Jan 26 PHP
最新制作ThinkPHP3.2.3完全开发手册
Nov 23 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
Dec 31 PHP
php 多文件上传的实现实例
Oct 23 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
Oct 25 PHP
PHP 文件上传后端处理实用技巧方法
Jan 06 PHP
老生常谈PHP数组函数array_merge(必看篇)
May 25 PHP
YII2自动登录Cookie总是失效的解决方法
Jun 28 PHP
PHP递归统计系统中代码行数
Sep 19 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按字符串长度分割成数组代码
2015/05/17 PHP
php 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
网页中的图片的处理方法与代码
2009/11/26 Javascript
javascript设计模式 封装和信息隐藏(上)
2012/07/24 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
jQuery设置图片等比例缩小的方法
2017/04/29 jQuery
javascript过滤数组重复元素的实现方法
2017/05/03 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
详解Angular路由之路由守卫
2018/05/10 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
vue中render函数的使用详解
2018/10/12 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
2015/05/20 Python
Python3 循环语句(for、while、break、range等)
2017/11/20 Python
python排序函数sort()与sorted()的区别
2018/09/18 Python
python os.fork() 循环输出方法
2019/08/08 Python
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
电大自我鉴定
2013/10/27 职场文书
人力资源主管职责范本
2014/03/05 职场文书
婚礼主持词
2014/03/13 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
大学生实习推荐信
2015/03/27 职场文书
工作态度检讨书范文
2015/05/06 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python
python实现自动清理文件夹旧文件
2021/05/10 Python