posix_getpid în PHP

Ghid complet pentru posix_getpid și posix_kill în PHP: obținerea PID-ului curent, crearea fișierelor de blocare .pid și transmiterea semnalelor între procese.

Sintaxă
posix_getpid(): int | posix_kill(int $process_id, int $signal): bool

Ce fac posix_getpid și posix_kill

Funcția posix_getpid returnează identificatorul unic de proces (PID) al scriptului curent conform sistemului de operare UNIX/Linux. posix_kill transmite un semnal către orice proces din sistem (inclusiv semnalul 0 pentru a verifica dacă un proces mai trăiește).

Exemplu practic: Prevenirea lansării multiple a aceluiași script prin PID Lock File
<?php
$fisierPid = "/var/run/worker_dexblog.pid";

if (file_exists($fisierPid)) {
    $vechiulPid = (int)file_get_contents($fisierPid);
    // Semnalul 0 doar testează dacă procesul există fără a-l opri:
    if (posix_kill($vechiulPid, 0)) {
        die("Eroare: Scriptul rulează deja cu PID-ul: " . $vechiulPid . "\n");
    }
}

// Salvăm noul PID:
file_put_contents($fisierPid, posix_getpid());
echo "Script pornit cu succes cu PID: " . posix_getpid() . "\n";
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: posix_getpid

Ai o nelămurire despre utilizarea comenzii posix_getpid sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.