今天来学习的是两个非常简单的函数,一个可以用来设置我们执行脚本时运行的进程名。而另一个就是简单的获取当前运行的进程名。这两个函数对于大量的脚本运行代码有很大的作用,比如我们需要 kill 掉某个进程时,可以直接使用我们自己定义的进程名来进行操作。

设置进程名

cli_set_process_title("test");

非常简单吧,只有一个参数,那就是要定义的变量名称。在运行起来后,我们使用 sleep() 让程序挂载一段时间,然后再开一个终端来查看当前的进程信息。

ps -ef | grep test
# root 32172 31511 0 09:03 pts/0 00:00:00 test top -p 32172 -c
# 32198 root 20 0 113100 18052 13088 S 0.0 0.2 0:00.00 test

可以看到,不管是使用 ps 还是使用 top ,都可以看到相应的进程名称为 test 的进程。这样,就完成了进程名称的自定义。

获取进程名

echo "Process title: " . cli_get_process_title() . "\n";
// Process title: test

同样的,获取当前进程名的函数也非常地简单,直接调用即可。它就会正常输出当前执行脚本的进程名称。

如果我们没有自定义进程名称呢?这里就不会有任何的输出,大家可以自己尝试一下。

注意事项

最后来说说这两个函数的注意事项。

一是如果使用的是 Mac OS 系统,会提示:

// Warning: cli_set_process_title(): cli_set_process_title had an error: Not initialized correctly

也就是说这两个函数在 Mac 下面是无法正常使用的,我的测试环境是 CentOS ,是可以正常使用的。Windows 环境没有进行测试,正常情况下也很少会有人在 Windows 环境下挂后台执行脚本,所以有兴趣的同学可以自己测试下。

二是进程名可以是中文!!!是不是感觉很高大上。

三是这两个函数仅针对 CLI 运行环境。也就是说,在 CGI 正常网页运行的状态下这两个函数是没有效果的。

测试代码:

https://github.com/zhangyue0503/dev-blog/blob/master/php/202005/source/PHP%E8%84%9A%E6%9C%AC%E8%AE%BE%E7%BD%AE%E5%8F%8A%E8%8E%B7%E5%8F%96%E8%BF%9B%E7%A8%8B%E5%90%8D.php

参考文档:

https://www.php.net/manual/zh/function.cli-set-process-title.php

https://www.php.net/manual/zh/function.cli-get-process-title.php

最新文章

  1. int 与Integer的用法与区别
  2. 内存分配、C++变量的生命周期和作用域
  3. 多选列表Select之双击删除与添加Demo
  4. 【转】为drupal初学者准备的12个精品课程
  5. Windows下配置PHP支持LDAP扩展方法(wampserver)
  6. CSS制作出绚丽燃烧的火狐狸
  7. unix domain IPC 进程间通信简析
  8. 类是公共,它应该被命名为.java文件声明
  9. 理解volatile
  10. redis的基本数据类型
  11. JS 各种宽高
  12. 为什么公司宁愿 25K 重新招人,也不给你加到 20K?原因太现实……
  13. 简单的JQuery完美拖拽
  14. PHP——base64的图片转为文件图片
  15. Quartz.NET开源作业调度框架系列(二):CronTrigger-转
  16. flutter控件之CheckBox
  17. php中获取网站访客来源的关键词方法
  18. 学号20155311 2016-2017-2 《Java程序设计》第一次实验报告
  19. shell编程——内部变量
  20. Replication--数据库镜像阻塞复制日志读取器的解决的办法

热门文章

  1. 使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet.最详细!!!
  2. Visio2013安装报错 1935 问题解决
  3. STM32—PID控制在直流电机中的应用
  4. 程序员作图工具和技巧,你 get 了么?
  5. noip 模拟 7
  6. docker 安装部署 mysql(配置文件启动)
  7. Monitor 类
  8. 解析和遍历一个HTML文档
  9. QT 中的QTableWidget
  10. BootStrap Table超好用的表格组件基础入门