Portál AbcLinuxu, 26. dubna 2024 17:07


Dotaz: Unikatne ID procesu

26.11.2012 12:18 pesspi | skóre: 7 | blog: hateblog
Unikatne ID procesu
Přečteno: 315×
Odpovědět | Admin
Potreboval by som zistit nejake unikatne ID procesu. PID mi nestaci lebo sa moze stat ze spustim proces, potom sa ukonci a niekto ho spusti znova a nahodou mu bude pridelene to iste cislo procesu.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.11.2012 12:23 Ivan
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co presne znamena "zjistit"? IDcka se nezjistuji, ta se prideluji. IDcko si muzes vygenerovat "nahodne" pres UUID, anebo muzes udelat hash cesty k binarce popr. muzes pouzit cislo inody, ...

PS: taky muzes zapsat svuj pid do souboru /var/run/appname.pid a ten pak nasledne locknout.
26.11.2012 12:48 pesspi | skóre: 7 | blog: hateblog
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Bezi proces MC, pomocou pidof zistime jeho pid ale to nestaci. Lebo ked budem za 5 minut zistovat cosi tak to moze byt MC, moze mat nahodou prideleny ten isty pid ale uz to moze byt druhy proces.
26.11.2012 12:36 l4m4
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jediná jistota je být rodičovský proces, jinak lze stěží formulovat konzistentně už jen to, který proces chceš unikátně indentifikovat.

Nicméně pid a starttime v /proc/pid/stat by mělo postačovat, pokud za 1 jiffy nedokážeš protočit celý prostor pid...
26.11.2012 12:50 pesspi | skóre: 7 | blog: hateblog
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Toto by mohlo stacit. Este si overim ci je to tam fakt cas kedy bol odstartovany, to by slo pouzit.
26.11.2012 13:00 pesspi | skóre: 7 | blog: hateblog
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Ten cas tam je v jiffoch, budem to musiet nejak konvertovat na sekundy plus pripocitat kedy pocitat odstartoval
26.11.2012 13:05 Radovan Garabík
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Prečo konvertovať? Či to musí byť konzistentné aj medzi rebootmi? To by potom stači hash pidu, času v jiffies a času vytvorenia /var/log/dmesg....
26.11.2012 13:53 pesspi | skóre: 7 | blog: hateblog
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Ano, musi to byt konzistentne aj medzi rebootmi.
26.11.2012 14:19 l4m4
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Co znamená konzistentní? Po rebootu už to nikdy není týž proces.
26.11.2012 16:04 pesspi | skóre: 7 | blog: hateblog
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Ano to prave potrebujem zistit. Ci je to ten isty proces alebo nie. Moj skript si pozrie proces, napr. "mc". Nejak si niekde nieco poznaci, a ked ten skript zapnem o mesiac potrebujem vediet ci je to ten isty proces. Mohol byt medzi tym reboot ale nemusel. Mohol proces skoncit a pri druhom spusteni mu bol prideleny stejny pid takze vyzera ze je to stale ten isty proces ale nie je.

Asi pouzijem kombinaciu DatumBootu+DatumStartuProcesu+Pid
Luboš Doležel (Doli) avatar 26.11.2012 16:35 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Unikatne ID procesu
To by fungovat mohlo, otázkou je, jestli řešíte daný problém (který my neznáme) správným způsobem.
26.11.2012 16:44 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Mňa by potom zaujímala tá možnosť, že to po reboote je stále ten istý proces.
26.11.2012 16:46 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Aha, teraz mi došlo - otázka vlastne je, ako detekovať ten reboot; moja poznámka je bezpredmetná.

26.11.2012 17:20 Jardík
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Proč by nemohl? Šance je to asi mizivá, ale může se to stát. Jinak práce s pid je normálně plná race conditions a těžko se kolem toho chodí. Nejlepší je s pid nepracovat a najít spolehlivější řešení.
26.11.2012 17:25 Jardík
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Proč by nemohl? Šance je to asi mizivá, ale může se to stát.
Teda nemůže se asi stát, že je to ten stejný proces, ale ta stejná aplikace. Pokud tazatel opravdu chce stejný proces, a né aplikaci, tak je to nesmysl.
26.11.2012 18:07 Ivan
Rozbalit Rozbalit vše Re: Unikatne ID procesu
Dulezite je vedet, jestli se jedna o "obecny" proces anebo je to nejaky daemon, se kterym mam "interface agrrement". Pokud mam dohodnuto, ze "child" process zamyka svuj pid soubor(pres fcntl/flock), tak staci jednoduse cekat az se ten soubor odemkne.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.