PHPerKaigi 2024

cli_set_process_title

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

cli_set_process_titleSets the process title

说明

cli_set_process_title(string $title): bool

Sets the process title visible in tools such as top and ps. This function is available only in CLI mode.

参数

title

The new title.

返回值

成功时返回 true, 或者在失败时返回 false

错误/异常

An E_WARNING will be generated if the operating system is unsupported.

示例

示例 #1 cli_set_process_title() example

<?php
$title
= "My Amazing PHP Script";
$pid = getmypid(); // you can use this to see your process title in 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);
}
?>

参见

add a note

User Contributed Notes 2 notes

up
15
code at edoceo dot com
9 years ago
Setting proc title on PHP based daemons is pretty sweet.
up
2
pitpat
2 years ago
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).
To Top