在基于 PHP 的守护进程上设置进程标题非常棒。
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
cli_set_process_title — 设置进程标题
title
新标题。
如果操作系统不支持,将生成一个 E_WARNING
错误。
示例 #1 cli_set_process_title() 示例
<?php
$title = "My Amazing PHP Script";
$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)。