Setting proc title on PHP based daemons is pretty sweet.
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
cli_set_process_title — プロセスのタイトルを設定する
プロセスのタイトルを設定します。これは top や ps といったツールで表示されます。 この関数は、 CLI モードでしか使えません。
title
新しいタイトル。
成功した場合に true
を、失敗した場合に false
を返します。
OS がこの機能に対応していない場合に E_WARNING
が発生します。
例1 cli_set_process_title() の例
<?php
$title = "My Amazing PHP Script";
$pid = getmypid(); // これを使えば、プロセスのタイトルを ps で確認できます
if (!cli_set_process_title($title)) {
echo "Unable to set process title for PID $pid...\n";
exit(1);
} else {
echo "The process title '$title' for PID $pid has been set for your process!\n";
sleep(5);
}
?>
In Linux this command changes the title for commands like 'ps -a' it doesn't seem to work with 'top' or 'pkill'
To change the short name (eg PHP) to something else you can use the below:
<?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"));
}
Note: The above will NOT work in Windows and may not work in all flavours of linux (I use Debian).