Portál AbcLinuxu, 19. dubna 2024 10:46


Dotaz: Jak ukončit aplikace

26.4.2015 23:33 Jára
Jak ukončit aplikace
Přečteno: 364×
Odpovědět | Admin
Zdravím. v Bashi spustím aplikaci 'A', tato aplikace spustí na pozadí další aplikaci 'B', 'C' a 'D'. Po ukončení aplikace 'A' bych chtěl automaticky ukončit i aplikace 'B', 'C' a 'D' spuštěné na pozadí aplikací 'A'. Poradí někdo ? Děkuji
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Max avatar 27.4.2015 08:20 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Jak ukončit aplikace
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkusil bych :
pgrep -P pid_rodiče
To by ti mělo vypsat PID všech potomků a na základě toho je můžeš zabít.
Zdar Max
Měl jsem sen ... :(
27.4.2015 09:19 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Jak ukončit aplikace
Odpovědět | | Sbalit | Link | Blokovat | Admin
http://www.win.tue.nl/~aeb/linux/lk/lk-10.html :

10.2 Process groups

Every process is member of a unique process group, identified by its process group ID. (When the process is created, it becomes a member of the process group of its parent.)

http://stackoverflow.com/questions/392022/best-way-to-kill-all-child-processes :

If it is a process group you want to kill, just use the kill(1) command but instead of giving it a process number, give it the negation of the group number. For example to kill every process in group 5112, use kill -TERM -5112.
27.4.2015 22:56 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Jak ukončit aplikace

To nefunguje v případě, že si frackové toho procesu založí své vlastní process group (setpgid()). S takovými nevychovanými procesy může být trochu potíž a může to vyžadovat větší kanón na vrabce. Jedna možnost je systemd unit s patřičným nastavením a druhá možnost (atomový kanón na vrabce) je třeba LXC.

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.