Start · Sprachen · PHP · Referenz · cli_get_process_title

cli_get_process_title

Funktion

Gibt den aktuellen Prozesstitel des laufenden PHP-CLI-Prozesses zurück.

seit PHP 5.5.0 Kategorie: misc

Signatur

cli_get_process_title(): string|false

Beschreibung

cli_get_process_title() liest den Prozesstitel des aktuell laufenden PHP-Prozesses aus und gibt ihn als Zeichenkette zurück. Der Prozesstitel ist der Name, der in Prozesslisten wie ps, top oder dem Windows Task-Manager angezeigt wird.

Diese Funktion ist das Gegenstück zu cli_set_process_title() und wird ausschließlich in der CLI-SAPI (Command Line Interface) unterstützt. In anderen SAPIs wie Apache oder FPM ist sie nicht verfügbar und gibt false zurück.

Typische Anwendungsfälle sind Monitoring-Skripte, Daemon-Prozesse oder Long-Running-Worker, bei denen man den aktuell gesetzten Titel prüfen möchte, um ihn z. B. dynamisch zu aktualisieren oder zu protokollieren.

Auf manchen Betriebssystemen (insbesondere macOS) kann das Lesen des Prozesstitels nicht unterstützt sein; in diesem Fall wird ebenfalls false zurückgegeben und eine Warnung ausgegeben.

Rückgabewert

Typ
string|false
Beschreibung
Gibt den aktuellen Prozesstitel als string zurück. Gibt false zurück, wenn die Funktion nicht in der aktuellen SAPI oder dem aktuellen Betriebssystem unterstützt wird.

Beispiele

Aktuellen Prozesstitel auslesen

<?php
// Nur im CLI-Kontext verfügbar
cli_set_process_title('mein-worker: verarbeite Jobs');

$title = cli_get_process_title();
if ($title !== false) {
    echo "Aktueller Prozesstitel: " . $title . PHP_EOL;
} else {
    echo "Prozesstitel konnte nicht ausgelesen werden." . PHP_EOL;
}
Aktueller Prozesstitel: mein-worker: verarbeite Jobs

Prozesstitel dynamisch aktualisieren und prüfen

<?php
$jobs = ['Job-A', 'Job-B', 'Job-C'];

foreach ($jobs as $job) {
    cli_set_process_title('worker: verarbeite ' . $job);

    $current = cli_get_process_title();
    echo "Starte: " . $current . PHP_EOL;

    // Simuliere Arbeit
    usleep(100000);
}

echo "Alle Jobs abgeschlossen." . PHP_EOL;
Starte: worker: verarbeite Job-A Starte: worker: verarbeite Job-B Starte: worker: verarbeite Job-C Alle Jobs abgeschlossen.

// Wichtig · Fallstricke

Plattformhinweis: Auf macOS wird das Lesen des Prozesstitels nicht unterstützt. Die Funktion gibt dort false zurück und erzeugt eine E_WARNING-Meldung. Unter Linux funktioniert sie in der Regel problemlos.

SAPI-Einschränkung: cli_get_process_title() steht ausschließlich in der CLI-SAPI zur Verfügung. Ein Aufruf in einem Web-SAPI-Kontext (z. B. mod_php oder PHP-FPM) führt zu false und einer Warnung.