在基於 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 "已為你的處理程序設定 PID $pid 的處理程序標題 '$title'!\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)。