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";
Întrebări & Exemple de Cod:
posix_getpidAi o nelămurire despre utilizarea comenzii
posix_getpidsau 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.