Portál AbcLinuxu, 9. května 2025 00:51

Dotaz: Ako killnem process

26.12.2011 22:04 faidron | skóre: 16
Ako killnem process
Přečteno: 300×
Odpovědět | Admin
Ako kilnem process? Aky je to child process 1?
root@probook-PC:/# ps -ef | grep google
probook  10441     1  0 21:56 ?        00:00:00 /opt/google/talkplugin/GoogleTalkPlugin
root     10466  2311  0 21:58 pts/0    00:00:00 grep --color=auto google
root@probook-PC:/# kill 10441
root@probook-PC:/# ps -ef | grep google
probook  10468     1  3 21:59 ?        00:00:00 /opt/google/talkplugin/GoogleTalkPlugin
root@probook-PC:/# ps -ef | grep google
probook  10468     1  0 21:59 ?        00:00:00 /opt/google/talkplugin/GoogleTalkPlugin
root     10511  2311  0 22:01 pts/0    00:00:00 grep --color=auto google
root@probook-PC:/# kill -9 10468
root@probook-PC:/# ps -ef | grep google
probook  10513     1  6 22:02 ?        00:00:00 /opt/google/talkplugin/GoogleTalkPlugin
root     10525  2311  0 22:02 pts/0    00:00:00 grep --color=auto google
root@probook-PC:/# 
probook@probook-PC:~/Desktop$ uname -a
Linux probook-PC 2.6.35-31-generic #63-Ubuntu SMP Mon Nov 28 19:29:10 UTC 2011 x86_64 GNU/Linux

Řešení dotazu:


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

Odpovědi

26.12.2011 22:15 l4m4
Rozbalit Rozbalit vše Re: Ako killnem process
Odpovědět | | Sbalit | Link | Blokovat | Admin
kill -JMÉNOSIGNÁLU ČÍSLOPROCESU
Pokud mu chceš poslat signál KILL, tak ten se jmenuje KILL, ale je to většinou až krajní řešení.

Druhé části nerozumím (a u první nerozumím, o co ti jde, takže pouze odpovídám na doslovný dotaz).
Řešení 1× (faidron (tazatel))
27.12.2011 11:34 faidron | skóre: 16
Rozbalit Rozbalit vše Re: Ako killnem process
Skudsal som kill -9 ako aj kill-3 ale stale mi ten roces bezal pod inym PID. Nevedel som sa toho zbavit, po restarte vsetko ok. Co ine v takom pripade.
27.12.2011 11:47 l4m4
Rozbalit Rozbalit vše Re: Ako killnem process
ale stale mi ten roces bezal pod inym PID
To je nesmysl, pid procesu se nemění.

Něco ten program znovu spouštělo, kdy skončil (resp. byl násilně ukončen). Netuším, co je GoogleTalkPlugin, tudíž nebudu vytvářet teorie co a proč.
27.12.2011 12:12 faidron | skóre: 16
Rozbalit Rozbalit vše Re: Ako killnem process
PID procesu sa meni. Nieco to opat spustalo. Child procesu mal ale vzdy cislo 1 co tiez neviem co znamen? Mozes si pozriet moj vypis z mojho dotazu {ja tam mam akcnu nabitku tak si to neviem odrolovat} Ano, zakazat prosecu exec prava je tiez riesenie. Google talk plugin najdete v Ubuntu repositories. Je to zrejme nahrada Skype. Ja to odinstalujem.
27.12.2011 12:23 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Ako killnem process
PID procesu se nemění. Když se jeden proces ukončí a jiný spustí, má jiný PID, protože je to jiný proces.
pavlix avatar 27.12.2011 11:59 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Ako killnem process
Tím máš ale zodpovězenou otázku!

Mimochodem, když se potřebuju programu rychle zbavit a nechci aby ho něco znovu spouštělo, zruším mu právo execute. Je to rychlé a prasácké řešení, které praktikuju nejvíc na školeních, kde nemám čas vymýšlet korektní způsob.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
27.12.2011 12:12 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Ako killnem process
Odpovědět | | Sbalit | Link | Blokovat | Admin
Druhé číslo není child proces, ale mother proces. Tedy ten kdo proces spuští. Proces 1 je obvykle /sbin/init -- základní proces systému. Opakovaný automatického restart procesu s matkou procesem 1 znamená, že /sbin/init hlídá exekuci procesu a při jeho pádu provede automatický restart. Typicky takové procesy jsou uvedeny v souboru /sbin/inittab s directivou respawn.
pavlix avatar 27.12.2011 12:18 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Ako killnem process
Opakovaný automatického restart procesu s matkou procesem 1 znamená, že /sbin/init hlídá exekuci procesu a při jeho pádu provede automatický restart. Typicky takové procesy jsou uvedeny v souboru /sbin/inittab s directivou respawn.

Jdeš na to dobře, ale ten závěr je v dnešní době chybný. Typicky se jedná o proces initem adoptovaný, tedy proces jehož rodičovský proces už neexistuje. Což je typické (ale nemusí to být ten případ) pro pouštění procesů ze skriptů.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
27.12.2011 12:27 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Ako killnem process
Jasně. Adopce procesu initem je také častá, ale nemám představu, jak se adoptovaný proces dostane do režimu, že bude respawn.
30.12.2011 14:03 faidron | skóre: 16
Rozbalit Rozbalit vše Re: Ako killnem process
Dik za to overview, child, parent, a adopt process.
root@probook-PC:/etc/init.d# find / -name "*inittab*"
nenajdene Ubuntu:
root@probook-PC:/etc/init.d# cat /sbin/inittab
cat: /sbin/inittab: No such file or directory

30.12.2011 14:21 Sten
Rozbalit Rozbalit vše Re: Ako killnem process
V Ubuntu už není klasický System V init, který používá inittab, ale upstart, který spravuje služby. Vypsat služby lze pomocí initctl
sudo initctl list
Službu lze potom zastavit příkazem stop
sudo stop služba
Nicméně vzhledem k tomu, že ten proces běží pod vaším uživatelem, asi nebude spouštěný z Upstartu, ale z desktopového prostředí, a upstart (init) jej jen adoptoval. V takovém případě je často složité najít, kdo to spouští. Možná jej spouští Empathy. Nebo prohlížeč. Asi nejjednodušší řešení, jak to najít, je nahradit /opt/google/talkplugin/GoogleTalkPlugin za skript, který by někam do souboru vypsal příkaz pstree, kde by už mělo být vidět, kdo jej spouští:
#!/bin/sh

pstree -ps $$ >>/tmp/GoogleTalkPlugin
sleep 1000
30.12.2011 17:32 l4m4
Rozbalit Rozbalit vše Re: Ako killnem process
Na toto lze použít audit, viz auditctl, a podívat se na celý řetěz, jak se co execuje, protože ten GoogleTalkPlugin je až poslední v řadě a ne nutně jediný, u kterého nebude jasné, co a proč ho spustilo...

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.