在基于 PHP 的守护进程上设置进程标题非常棒。
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
cli_set_process_title — 设置进程标题
title
新标题。
如果操作系统不受支持,则会生成 E_WARNING
。
示例 #1 cli_set_process_title() 示例
<?php
$title = "我的精彩 PHP 脚本";
$pid = getmypid(); // 你可以使用它在 ps 中查看你的进程标题
if (!cli_set_process_title($title)) {
echo "无法为 PID $pid设置进程标题...\n";
exit(1);
} else {
echo "进程标题 '$title' 对于 PID $pid 已为你进程设置!\n";
sleep(5);
}
?>
在 Linux 中,此命令会更改 'ps -a' 等命令的标题,但似乎不适用于 'top' 或 'pkill'。
要将短名称(例如 PHP)更改为其他名称,可以使用以下方法
<?php
$strNewName='myscript';
cli_set_process_name($strNewName);
cli_set_process_title($strNewName);
var_dump(cli_get_process_name());
var_dump(cli_get_process_title());
function cli_set_process_name($strName)
{
file_put_contents("/proc/".getmypid()."/comm",$strName);
}
function cli_get_process_name()
{
return(trim(file_get_contents("/proc/".getmypid()."/comm"),"\r\n"));
}
注意: 以上方法在 Windows 中不起作用,并且可能不适用于所有 Linux 版本(我使用的是 Debian)。