Autor Zpráva
Silver8000
Profil
Ahoj chci se zeptat jestly je mozne otevrit proces s vlastnim PID treba s proc_open nebo podobnou funkci?
Jde o to ze kdyz bych tam nastavil vlastni PID tak bych mohl pak snadneji detekovat jetsly proces bezi a nemusel vyhledavat prave to PID abych pak mohl proces pripadne zastavit,obzvlaste kdyz skript bude bezet 2x ale pokazdy bude mit jiny prikaz.
Predstavoval bych si to asi nejak takhle :

$PID = 1 //Urceni vlastniho PID
proc_open $PID //otevreni procesu
proc_find_pid $PID //detekce ze skript bezi
proc_kill $PID //V pripade nutnosti vypnout

Diky za rady a pomoc.
juriad
Profil
Silver8000:
Nelze si objednat proces s daným PID; takovou možnost neumožňuje operační systém. Můžeš ale zjistit, jaké PID běžící skript obdržel, to si někam uložit (pozor na transakční zpracování).
Zjistit, zda proces běží můžeš pomocí pgrep a zabít jej můžeš pomocí pkill (spuštěno execem, platí pro Linux).

Jestli se píše s měkkým i; používej diakritiku a interpunkci.
Silver8000
Profil
Zajimave je ze v php tahle funkce neexistuje,ale kdyby existovala usnadnila by praci.

Diakritiku nemohu pouzivat kdyz nemam ceskou klavesnici a prepinat na ceskou klavesnici a pak zdlouhave hledat specialni znaky nebudu.
Kazdy clovek se obcas preklepne obzvlaste kdyz doma mluvi materstinou a venku anglicky.
juriad
Profil
Silver8000:
Ona ta funkce nemůže existovat už z toho důvodu, že to (snad) žádný operační systém neumožňuje. Vůbec to nesouvisí s PHP. Neusnadnila by práci, protože by se musely řešit kolize. Rozsah uživatelem přidělovaných PID by asi měl být disjunktní s PID procesů bez požadavku na hodnotu. Jak řešit situaci, kdy takové PID jíž existuje? PID se sdílí napříč všemi uživately systému. Nemohl bys spustit ten samý program vícekrát a to může být hodně omezující podmínka.

OK. Jelikož se neznáme, nemohl jsem vědět nic o tvých důvodech, jakkoli jsou validní. Jen jsem tě upozornil na to, že se to blbě čte.
Silver8000
Profil
Nasel jsem skript na zjistovani PID a myslim ze je i pouzitelnej akorat misto fopen asi pouziju file_get_contents a file_put_contents.
Odkaz : zde

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: