Program indítása ismert pid-del

Fórumok

Hogy indítsak el egy programot úgy, hogy közben egy fájlba elmentődjön a pid-je? Arra kéne, hogy amikor már nincs szükség rá, ki tudjam lőni úgy, hogy nem bántom az adott program egy esetleg futó másik példányát?

Hozzászólások

Indíthatnád a háttérben, és közvetlenül utána a $! változó értékét, mely az utoljára háttérben indított folyamat PID-jét tartalmazza, le tudod menteni vagy ki tudod íratni.

Pl.:

valami &
echo $! > valami_pid.log

Üdv,
Nagyimami

Ez eleve hibásnak tűnik.
Mi van, ha megdöglik a program rögtön indítás után?
És mi van, ha már fut a program egy példánya azonos könyvtárból?
Mindenképpen valami scriptet kell gyártanod az indításhoz. Szerintem.
Most inkább nem másznék bele részletekbe, mert ilyenkor szoktam nagy marhaságokat írni...

Valami ilyesmit követnék el:

[ -a x.pid ] && exit
echo $$ >x.pid
programinditas
rm x.pid

Sajnos ha elszáll a belül indított kód (pl. mert kilövöd), a pid file megmarad.

--
Fel! Támadunk!