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
, если возникла ошибка.
Если команда не поддерживается вашей операционной системой, то будет
вызвана ошибка уровня 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);
}
?>
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).