服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - PHP教程 - PHP Cli 模式设置进程名称的方法

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

2021-08-03 15:26php 解说 PHP教程

这篇文章主要介绍了PHP Cli 模式设置进程名称的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

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

?
1
2
3
<?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

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

原文链接:https://www.phpjieshuo.com/archives/138

延伸 · 阅读

精彩推荐
  • PHP教程php实现用于计算执行时间的类实例

    php实现用于计算执行时间的类实例

    这篇文章主要介绍了php实现用于计算执行时间的类,实例分析了php计算运行实现的类实例与相关使用技巧,非常具有实用价值,需要的朋友可以参考下...

    PHP之家1432020-09-20
  • PHP教程深入理解PHP中的empty和isset函数

    深入理解PHP中的empty和isset函数

    下面小编就为大家带来一篇深入理解PHP中的empty和isset函数。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    PHP教程网7042021-01-23
  • PHP教程PHP跨时区(UTC时间)应用解决方案

    PHP跨时区(UTC时间)应用解决方案

    解决PHP跨时区应用需要将将程序内部时区设置为UTC时间.(UTC 也可以叫 GMT) 数据库中存储UTC时间等等,感兴趣的朋友可以了解下 ...

    PHP教程我5332020-03-07
  • PHP教程php操作mysqli(示例代码)

    php操作mysqli(示例代码)

    php操作mysqli的示例代码。需要的朋友可以过来参考下,希望对大家有所帮助 ...

    PHP教程网2452020-05-24
  • PHP教程PHP防范SQL注入的具体方法详解(测试通过)

    PHP防范SQL注入的具体方法详解(测试通过)

    PHP防范SQL注入是一个非常重要的安全手段。相信大家对这一安全防范方法还不是很了解,希望通过本文介绍的内容大家能够充分掌握这一知识点...

    PHP教程网4102020-06-28
  • PHP教程Win下如何安装PHP的APC拓展

    Win下如何安装PHP的APC拓展

    这篇教程我们会告诉大家如何在windows上安装APC。我已经在windows server 2003上成功测试。当然,在你也可以使用windows xp做为测试服务器 ...

    PHP教程网2412020-05-14
  • PHP教程thinkPHP中钩子的使用方法实例分析

    thinkPHP中钩子的使用方法实例分析

    这篇文章主要介绍了thinkPHP中钩子的使用方法,结合实例形式分析了thinkPHP钩子的创建、添加、使用等相关操作技巧与注意事项,需要的朋友可以参考下...

    逝火8202021-07-16
  • PHP教程Zend Framework教程之Autoloading用法详解

    Zend Framework教程之Autoloading用法详解

    这篇文章主要介绍了Zend Framework教程之Autoloading用法,详细分析了Autoloading的原理并结合实例形式分析了Autoloading相关使用技巧,具有一定参考借鉴价值,需要的...

    coder10542020-12-28