今天我们要学习两个非常简单的函数,一个可以用来设置执行脚本时要运行的进程名。另一种是简单地获取当前正在运行的进程的名称。这两个函数对于大量脚本运行代码非常有用。比如当我们需要杀死某个进程时,可以直接使用自己定义的进程名来操作。设置进程名称cli_set_process_title("test");很简单,只有一个参数,就是要定义的变量名。运行后,我们使用sleep()让程序挂载一段时间,然后打开一个终端查看当前进程信息。ps-ef|greptest#root3217231511009:03pts/000:00:00testtop-p32172-c#32198root2001131001805213088S0.00.20:00.00test可以看到,你是用ps还是用top,可以看到对应的进程名test进程。这样就完成了进程名的自定义。获取进程名称echo"Processtitle:"。cli_get_process_title()。"\n";//进程名称:test同理,获取当前进程名称的函数也很简单,直接调用即可。它通常会输出当前执行脚本的进程的名称。如果我们没有自定义进程名称怎么办?这里不会有输出,大家可以自己试试。注意事项最后说一下这两个功能的注意事项。首先,如果你使用的是MacOS系统,会提示://Warning:cli_set_process_title():cli_set_process_titlehadanerror:Notinitializedcorrectly也就是说,这两个函数在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.phphttps://www.php.net/manual/zh/function.cli-get-process-title.php各媒体平台可搜索【硬核项目经理]
