cli_set_process_title

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

cli_set_process_titleDéfinit le titre du processus

Description

cli_set_process_title(string $title): bool

Définit le titre du processus visible avec des outils comme top et ps. Cette fonction n'est disponible qu'en mode CLI.

Liste de paramètres

title

Le nouveau titre

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Erreurs / Exceptions

Une alerte de niveau E_WARNING sera générée si le système sous-jacent n'est pas supporté.

Exemples

Exemple #1 Exemple avec cli_set_process_title()

<?php
$title
= "Mon super script PHP";
$pid = getmypid(); // vous pouvez utiliser ceci pour voir le titre de votre processus dans ps

if (!cli_set_process_title($title)) {
echo
"Impossible de définir le titre du processus pour le PID $pid...\n";
exit(
1);
} else {
echo
"Le titre du processus '$title' pour le PID $pid a bien été défini !\n";
sleep(5);
}
?>

Voir aussi

add a note add a note

User Contributed Notes 4 notes

up
12
code at edoceo dot com
10 years ago
Setting proc title on PHP based daemons is pretty sweet.
up
1
aaron dot mason+php at thats-too-much dot info
6 years ago
In Windows, this function will set the Command Prompt window title, which is restored to the previous setting once the script finishes.  If you need to do this in 5.5.X and below, you'll need to use system() to run the title command.
up
1
pitpat
3 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).
up
0
Aurelien Marchand
4 years ago
Please note that the function might be inconsistent depending on your system.

On 2 of my systems (CentOS 7.7 and Linux Mint 18.3), setting the title will work for ps but not for top.

<?php
cli_set_process_title
("sleeping-daemon");
sleep(100);

/*
*ps* returns
25072 pts/2  S  0:00   sleeping-daemon

*top*  returns
25072 aurelien  20   0  285848  23256  16856 S   0.0  0.3   0:00.01 php

*/
To Top