Portál AbcLinuxu, 14. května 2025 00:07

Dotaz: Spawn procesu s urcenym PID

11.12.2010 11:02 random_name
Spawn procesu s urcenym PID
Přečteno: 290×
Odpovědět | Admin
Zdravim,

ako je mozne v Linuxe spustit proces (kludne aj len shell s nekonecnym cyklom) s urcenym PID? Mam roota, ma to byt len workaround pre jeden bug, ktory podla tvorcu programu vyzaduje rewrite celeho programu. Preto by nebol problem si na spustenie takeho procesu pockat - shell script som robil, nakoniec to vzdy skoncilo ako fork bomb.

Dakujem
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.12.2010 18:54 marbu | skóre: 31 | blog: hromada | Brno
Rozbalit Rozbalit vše Re: Spawn procesu s urcenym PID
Odpovědět | | Sbalit | Link | Blokovat | Admin
Spustit proces a urcit mu jeho pid neni mozne, pid vzdy prirazuje kernel, a to postupne od 1 do maxima (lze dohledat v /proc/sys/kernel/pid_max). Po dosazeni maxima se jede znovu od zacatku s tim, ze se pocita, ze uz mezitim nejake procesy skoncili a tudiz je co pridelovat.

Takze by to slo resit tak, ze bys napsal program, ktery nejdriv overi, zda je ten tvuj oblibeny pid prirazen a pokud ne, bude se forkovat dokud ten pid nedostane.
There is no point in being so cool in a cold world.
13.12.2010 01:12 random_name
Rozbalit Rozbalit vše Re: Spawn procesu s urcenym PID
Sice odpisujem neskoro, ale aj tak vdaka, to by mohlo pomoct (aj ked neviem, ci to bude fungovat ako cakam).
12.12.2010 12:57 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Spawn procesu s urcenym PID
Odpovědět | | Sbalit | Link | Blokovat | Admin
ma to byt len workaround pre jeden bug, ktory podla tvorcu programu vyzaduje rewrite celeho programu
lol
In Ada the typical infinite loop would normally be terminated by detonation.
12.12.2010 15:04 Ragzid | skóre: 24 | blog: Pivní koutek | Liberec-Brno
Rozbalit Rozbalit vše Re: Spawn procesu s urcenym PID
Odpovědět | | Sbalit | Link | Blokovat | Admin
Docela by me zajimalo, jaky je to program, a jeste radsi bych videl jeho zdrojovy kod... :-)
12.12.2010 20:19 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Spawn procesu s urcenym PID
zdrojový kód je určitě nedobytná pevnost a obsahuje obchodní tajemství ;-)
In Ada the typical infinite loop would normally be terminated by detonation.
13.12.2010 01:09 random_name
Rozbalit Rozbalit vše Re: Spawn procesu s urcenym PID
Nie je to obchodne tajomstvo, je to Upstart, ktory si nevie poradit so zabitymi procesami. Ukazuje start/killed alebo stop/killed, s cim nie je mozne nic spravit (jedine nepouzivat Upstart pre spravu procesov) - je to v bugu #406397 na Launchpade.

Mozno to ide riesit a zle som sa vyjadril, ale toto napisal autor:

Scott James Remnant wrote on 2010-09-01: This and bug #530779 are fundamental due to Upstart's use of ptrace() for fork following - a rewrite of Upstart is in progress which uses other newer kernel mechanisms to follow forks and would not be vulnerable to this kind of issue. However there's no "quick fix" to it, and no way to backport that code.

Kto mi poradi, ako to fixnut v Upstarte alebo to backportne, ten ma u mna pivo.
14.12.2010 07:00 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Spawn procesu s urcenym PID
Ať to čtu jak chci tak v tom nevidím nic co by souviselo se strefováním se do PID.
Kto mi poradi, ako to fixnut v Upstarte alebo to backportne, ten ma u mna pivo.
jedine nepouzivat Upstart pre spravu procesov
Asi tak.
In Ada the typical infinite loop would normally be terminated by detonation.

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.