» »

Linux- kako ubijem program ?

Linux- kako ubijem program ?

Brane2 ::

Vem za kill, killall itd, ampak to so ukazi, ki samo signalizirajo problematičnemu programu, da naj stori samomor (ali karkoli drugega).

Problem je, če je program tako zaribal,da se niti ubiti ne zna več. Takrat bi mu moral kernel vzeti vse resurse (RAM, CPU čas itd) a ukaza za to ne najdem.

Sem površen ali takega ukaza, ki bi ga lahko pognal v bash-u ni ?
On the journey of life, I chose the psycho path.

Matri[X] ::

si poskusil 'kill -9 pid' ?

Brane2 ::

Sem, pa ne dela.

Kot sem rekel, tako kill kot killall ne opravita čiščenja sama, temvečč samo pošljeta signal problematičnemu programu.

če ga njegovi handlerji ne upoštevajo, ne moreta nič. Sicer AFAIK bi ga vgrajene rutine morale sterminirati, a ga ne.
Zakaj, ne vem. :\
On the journey of life, I chose the psycho path.

jype ::

Kaksno je stanje programa, kot ga izpise ps aux ?

Ce je D, to pomeni, da program caka, da se vrne system call (ki se izvaja v kernelu) in je program ze mrtev.

Obicajno to pomeni, da program caka na I/O. Recimo da imas NFS mount pa se masina ne javi, ali pa imas hardware ki noce timeoutat.

Brane2 ::

Evo dela izpisa "ps -Ad"

Zaje*ava me predvsem beep-media-player, ki se mi vsake toliko zašteka, ko poslušam komad z druge mašine preko smb

************ quote ***************************

11433 ? 00:00:01 firefox-bin
11438 ? 00:00:00 firefox-bin
11521 ? 00:00:00 netstat (defunct) < -- oglate oklepaje zamenjal z okroglimi
11814 ? 00:00:00 swfdec-mozilla-
11867 ? 00:00:00 firefox-bin
11868 ? 00:00:00 swfdec-mozilla-
11869 ? 00:00:00 firefox-bin
11870 ? 00:00:00 swfdec-mozilla- (defunct) < -- oglate oklepaje zamenjal z okroglimi
11871 ? 00:00:00 swfdec-mozilla-
11872 ? 00:02:33 swfdec-mozilla-
11873 ? 00:00:37 swfdec-mozilla-
11874 ? 00:00:00 swfdec-mozilla-
12039 ? 00:00:00 mozilla-launche
12051 ? 00:00:03 thunderbird-bin
12052 ? 00:00:00 thunderbird-bin
12053 ? 00:00:00 thunderbird-bin
12055 ? 00:00:00 thunderbird-bin
12058 ? 00:00:00 thunderbird-bin
12105 ? 00:00:00 firefox-bin
12106 ? 00:00:00 swfdec-mozilla-
12107 ? 00:00:00 swfdec-mozilla-
12108 ? 00:00:36 swfdec-mozilla-
12109 ? 00:00:09 swfdec-mozilla-
12110 ? 00:00:00 swfdec-mozilla-
12131 ? 00:00:01 gnome-terminal
12132 ? 00:00:00 gnome-pty-helpe
12133 pts/0 00:00:00 bash
12134 ? 00:00:00 gnome-terminal
12135 ? 00:00:00 gnome-terminal
12137 pts/0 00:00:00 su
12140 pts/0 00:00:00 bash
12144 ? 00:00:01 beep-media-play
12145 ? 00:00:00 beep-media-play
12146 ? 00:00:00 beep-media-play
12147 ? 00:00:00 beep-media-play
12150 ? 00:00:00 beep-media-play
12151 ? 00:00:00 beep-media-play
12152 ? 00:00:00 beep-media-play
12153 ? 00:00:00 beep-media-play
12154 pts/0 00:00:00 ps


***************** \quote ***************

kot vidiš, je kar nekaj "beep-media-play" procesov, ki jih ne morem ubiti s "killall -9", lahko pa ubijem prvega v vrsti s "kill -9".

Kakšna je razlika med obema ukazoma (razen sintaktične šminke) ?

Poleg tega ne morem ubiti "swfdec-mozilla-" procesov, sploh pa ne tistega, ki je "defunct".

Stvar me je začela zaje*avat nedavnop, ko sem po nasvetu "jack howto"ja dal v genkernel realtime patch in aktiviral istoimeni modul... :\
On the journey of life, I chose the psycho path.

jype ::

napisi ps aux

Tam ti izpise tudi stanje, v katerem je proces (ker pri ps -Ad ti ne). Vecina jih bo v S (sleeping) ali pa R (running) ali pa D (waiting for system call), obstajajo se drugi, vec pise v man ps.

Ce poslusas muziko, ki je mountana prek sambe, bodo player procesi umrli takoj, ko ti uspe umountat smbfs volume.

Brane2 ::

Ah, evo še iste zadeve, kot jo prikaže "ps aux":

brane2 11521 0.0 0.0 0 0 ? Z 20:09 0:00 [netstat] (defunct)
brane2 11814 0.0 0.2 83400 8832 ? Ss 22:10 0:00 swfdec-mozilla-player --xid 39845895 --plugin
brane2 11867 0.0 3.5 274344 108872 ? S 22:44 0:00 /usr/lib/MozillaFirefox/firefox-bin
brane2 11868 0.0 0.6 96216 18556 ? SL 22:44 0:00 swfdec-mozilla-player --xid 39845899 --plugin
brane2 11869 0.0 3.5 274344 108872 ? S 22:44 0:00 /usr/lib/MozillaFirefox/firefox-bin
brane2 11870 0.0 0.0 0 0 ? Z 22:44 0:00 [swfdec-mozilla-] (defunct)
brane2 11871 0.0 0.6 96216 18556 ? SL 22:44 0:00 swfdec-mozilla-player --xid 39845899 --plugin
brane2 11872 4.8 0.6 96216 18556 ? SL 22:44 3:12 swfdec-mozilla-player --xid 39845899 --plugin
brane2 11873 1.1 0.6 96216 18556 ? SL 22:44 0:46 swfdec-mozilla-player --xid 39845899 --plugin
brane2 11874 0.0 0.6 96216 18556 ? SL 22:44 0:00 swfdec-mozilla-player --xid 39845899 --plugin
brane2 12039 0.0 0.0 4744 1304 ? S 23:08 0:00 /bin/bash /usr/libexec/mozilla-launcher
brane2 12051 0.1 1.3 169868 40296 ? S 23:08 0:03 /usr/lib/MozillaThunderbird/thunderbird-bin -mail
brane2 12052 0.0 1.3 169868 40296 ? S 23:08 0:00 /usr/lib/MozillaThunderbird/thunderbird-bin -mail
brane2 12053 0.0 1.3 169868 40296 ? S 23:08 0:00 /usr/lib/MozillaThunderbird/thunderbird-bin -mail
brane2 12055 0.0 1.3 169868 40296 ? S 23:08 0:00 /usr/lib/MozillaThunderbird/thunderbird-bin -mail
brane2 12058 0.0 1.3 169868 40296 ? S 23:08 0:00 /usr/lib/MozillaThunderbird/thunderbird-bin -mail
brane2 12105 0.0 3.5 274344 108872 ? S 23:24 0:00 /usr/lib/MozillaFirefox/firefox-bin
brane2 12106 0.0 0.4 90352 13836 ? SL 23:24 0:00 swfdec-mozilla-player --xid 39845901 --plugin
brane2 12107 0.0 0.4 90352 13836 ? SL 23:24 0:00 swfdec-mozilla-player --xid 39845901 --plugin
brane2 12108 4.8 0.4 90352 13836 ? SL 23:24 1:14 swfdec-mozilla-player --xid 39845901 --plugin
brane2 12109 1.2 0.4 90352 13836 ? SL 23:24 0:18 swfdec-mozilla-player --xid 39845901 --plugin
brane2 12110 0.0 0.4 90352 13836 ? SL 23:24 0:00 swfdec-mozilla-player --xid 39845901 --plugin
brane2 12131 0.6 0.5 115452 18308 ? R 23:36 0:05 gnome-terminal
brane2 12132 0.0 0.0 9448 736 ? S 23:36 0:00 gnome-pty-helper
brane2 12133 0.0 0.0 9044 1552 pts/0 Ss 23:36 0:00 -bash
brane2 12134 0.0 0.5 115452 18308 ? S 23:36 0:00 gnome-terminal
brane2 12135 0.0 0.5 115452 18308 ? S 23:36 0:00 gnome-terminal
root 12137 0.0 0.0 20708 1092 pts/0 S 23:36 0:00 su root
root 12140 0.0 0.0 8784 1544 pts/0 S 23:36 0:00 bash
brane2 12144 0.2 0.6 123188 18616 ? SL 23:36 0:01 beep-media-player
brane2 12145 0.0 0.6 123188 18616 ? SL 23:36 0:00 beep-media-player
brane2 12146 0.0 0.6 123188 18616 ? SL 23:36 0:00 beep-media-player
brane2 12147 0.0 0.6 123188 18616 ? SL 23:36 0:00 beep-media-player
brane2 12150 0.0 0.6 123188 18616 ? SL 23:36 0:00 beep-media-player
brane2 12151 0.0 0.6 123188 18616 ? SL 23:36 0:00 beep-media-player
brane2 12152 0.0 0.6 123188 18616 ? SL 23:37 0:00 beep-media-player
brane2 12153 0.0 0.6 123188 18616 ? SL 23:37 0:00 beep-media-player
root 12178 0.0 0.0 8680 912 pts/0 R+ 23:50 0:00 ps aux
On the journey of life, I chose the psycho path.

Brane2 ::


Ce poslusas muziko, ki je mountana prek sambe, bodo player procesi umrli takoj, ko ti uspe umountat smbfs volume.


To tu ni slučaj. smb particija ( no, jaz uporabljam CIFS namesto SMB) tu čisto lepo dela...
On the journey of life, I chose the psycho path.

jype ::

Vseeno poskusi, bos videl.

S strace -p [pid] lahko vcasih pogledas, v katerem syscallu visi. Ampak ne vedno.

Ce umountas particijo, bo syscall takoj returnal (razen ce imas kak cuden kernel, vcasih je to naredilo tudi oops).

Red_Mamba ::

killproc ime_procesa si poizkusil?
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

Brane2 ::

Sem. "command not found".
On the journey of life, I chose the psycho path.

jype ::

killproc je le skript ki obstaja na nekaterih distribucijah, ki poisce vse procese, ki so se startali iz dolocenega binaryja (to lahko preveris v /proc/[pid]/exe).

Kar njegovi procesi delajo je to, da cakajo, da jim kernel vrne nekaj. Ker se znotraj kernel modula (cifs, kot je videti) ne da ustavit sistemskega klica, proces ne more nic, ker sploh ne pride na run queue. Tako tudi ne more v miru umreti.

Brane2 ::


Vseeno poskusi, bos videl.

S strace -p [pid] lahko vcasih pogledas, v katerem syscallu visi. Ampak ne vedno.


bash: strace: command not found


Ce umountas particijo, bo syscall takoj returnal (razen ce imas kak cuden kernel, vcasih je to naredilo tudi oops).


umount -f /mnt/smb/multimedia
umount2: Device or resource busy

Stvar se mi zdi logična. Če je program škripnil, ima pa še vedno odprte deskriptorje na sambi, potem se ne bo hotel kar tao umountat.

Sicer bi umount-f moral delat, pa ne vem zakaj ne prime... :\
On the journey of life, I chose the psycho path.

jype ::

strace je program, ki ga moras instalirat.

umount lahko naredis sele, ko so vsi procesi mrtvi (in proces ki je v stanju D, pa ga caka SIGTERM, je mrtev in particija ne bo busy)

fuser -km /mnt/smb/multimedia

to pobije vse procese, ki dostopajo do datotek na tem datotecnem sistemu

Tomay ::

Bom kar tu piskrček pristavil :)

Kako iz windows mašine preko puttya odjavit root-a na prvi konzoli?

Imam eno mašino ki se mi samodejno prijavi, vsake toliko pa bi moral ponovno zagnat in ker ne bi rad rebootal bi samo odjavil root na prvi konzoli, potem pa se mi tako avtomatsko nazaj prijavi. Ima kdo kako idejo?
Voodoo 4Ever

64202 ::

Drugace zombijev (Z - defunct) se tudi ne da pobit, ker so ze itak mrtvi, mora atamamaproces zbrisat vnos v seznamu procesov z waitpid. Samega RAMa/CPU-ja vec ne zaseda tak proces.

Signal 9 (SIGKILL) obicajen zivec proces ne more blokirat
I am NaN, I am a free man!

Zgodovina sprememb…

  • spremenilo: 64202 ()

jype ::

Tomay:

ps axuww | grep -w tty1 | grep sh | awk '{print $2}' | xargs kill -HUP

Oz. napises ps aux, najdes shell oz. program ki laufa na tty1 in reces kill 1234 kjer je 1234 PID.

Nerdor ::

Santa complicanta! Seveda so tudi to rešitve. Bolj eleganta je rešitev pod KDE "Ctrl-Alt-Esc" in kurzor od miške se pretvori v Mratvaško Glavo. (za KDE 2 je še delalo, nevem kako je pri KDE3) .

Ali pa se binda "xkill" program na določeno kombinacijo tipk, recimo "Ctrl+Alt+k". Več info na tej strani (na sredi).
... for lifetime!

Gandalfar ::

Nerdor: to ti v tem primeru nic ne pomaga, ker je to le gui za preprosti kill

Tomay ::

Če napišem cel ukaz mi naredi v redu, če pa pobijem samo proces pa ne deluje, ampak to še ni problem. S prve konzole so zagnani tudi X, ki pa jih ta ukaz ne gane, samo prva konzola spet postane uporabna. Torej bi moral še prej X pobit.
jype mi lahko prosim dopolniš ukaz.

Pa še to dobijo procesi vedno isti PID?
root 2157 0.2 0.5 3124 1528 tty1 S 19:08 0:00 x-window-manager
Voodoo 4Ever

Zgodovina sprememb…

  • spremenil: Tomay ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Thinkpad t420 WIN10

Oddelek: Pomoč in nasveti
403210 (2259) Klemzz
»

Sestava računalnika in še vprašanje (strani: 1 2 3 4 5 )

Oddelek: Strojna oprema
22316878 (10227) Han
»

SSD ni možno nastaviti kot Boot Option

Oddelek: Strojna oprema
464151 (3026) BorutK-73
»

počasno delovanje kompa Asus N76VZ

Oddelek: Pomoč in nasveti
81090 (918) WIngs
»

BSOD me spravlja v obup

Oddelek: Strojna oprema
251875 (1347) rsroki

Več podobnih tem