Processi defunti in Linux

Spread the love
Processi in Linux

Oggi ho il problema che la macchina rallenta. Guardo i processi Linux e vedo un processo defunct. Google mi insegna che i processi defunct possono essere greedy.

“Lo ammazzo”, penso. Mica così facile. In informatica c’è anche il concetto di uccidere un defunto…

 $ kill -9 3462

ma il processo è ancora in piedi (e infatti li chiamano zombie).

Processi padri e figli

Google mi insegna che se il genitore del processo è a sua volta ancora vivo, può essere che non riesco ad eliminare il figlio. Ma chi è il padre di 3462? Non sapendo né leggere né scrivere faccio così

 $ ps -lax | grep 3462

ma scopro un metodo ancora più figo, l’albero dei processi

 $ pstree -p
 init(1)─┬─GoogleTalkPlugi(3281)─┬─{GoogleTalkPlug}(3282)
       │                       ├─{GoogleTalkPlug}(3284)
       │                       ├─{GoogleTalkPlug}(3285)
       │                       └─{GoogleTalkPlug}(3286)
       ├─NetworkManager(1129)─┬─dhclient(2566)
       │                      └─{NetworkManager}(2567)
       ├─acpid(1338)
       ├─anacron(1336)───sh(3017)───run-parts(3019)───apt(3025)───apt-key(3428)───wget(3437)
       ├─apache2(1784)─┬─apache2(1807)
       │               ├─apache2(1810)
       │               ├─apache2(3146)
       │               ├─apache2(3168)
       │               ├─apache2(3171)
       │               ├─apache2(3250)
       │               ├─apache2(3347)
       │               ├─apache2(3494)
       │               ├─apache2(3564)
       │               └─apache2(3601)
       ├─atd(1356)
       ├─avahi-daemon(1127)───avahi-daemon(1128)
       ├─bonobo-activati(2869)─┬─{bonobo-activat}(2870)
       │                       └─{bonobo-activat}(2881)
       ├─clock-applet(2931)───{clock-applet}(2943)
       ├─console-kit-dae(1133)─┬─{console-kit-da}(1134)
....
       ├─gvfsd(2705)
       ├─gvfsd-burn(2962)
       ├─gvfsd-metadata(2950)
       ├─gvfsd-trash(2908)
       ├─gweather-applet(2921)─┬─sh(3462)
       │                       ├─{gweather-apple}(2939)
       │                       └─{gweather-apple}(2975)
       ├─irqbalance(1350)
       ├─modem-manager(1131)
       ├─mysqld(1470)─┬─{mysqld}(1614)
       │              ├─{mysqld}(1615)
       │              ├─{mysqld}(1616)
       │              ├─{mysqld}(1617)
       │              ├─{mysqld}(1839)
       │              ├─{mysqld}(1840)
       │              ├─{mysqld}(1841)
       │              ├─{mysqld}(1846)
       │              ├─{mysqld}(1847)
       │              ├─{mysqld}(1873)
       │              └─{mysqld}(1912)
       ├─nmbd(2620)
       ├─notification-ar(2928)───{notification-a}(2938)
       ├─notify-osd(2905)───{notify-osd}(2906)
       ├─polkitd(1869)
       ├─pulseaudio(2716)─┬─gconf-helper(2808)───{gconf-helper}(2811)
       │                  ├─{pulseaudio}(2753)
       │                  ├─{pulseaudio}(2777)
       │                  └─{pulseaudio}(2802)
       ├─python(2925)───{python}(2958)
       ├─rsyslogd(1101)─┬─{rsyslogd}(1244)
       │                └─{rsyslogd}(1245)
       ├─rtkit-daemon(1863)─┬─{rtkit-daemon}(1866)
       │                    └─{rtkit-daemon}(1867)
       ├─samba(1679)─┬─samba(1703)
       │             ├─samba(1705)
       │             ├─samba(1712)
       │             └─samba(1714)
       ├─slapd(1365)───{slapd}(1368)
       ├─smbd(1093)───smbd(1243)
       ├─syndaemon(2876)
       ├─system-service-(3006)
       ├─trashapplet(2887)───{trashapplet}(2891)
       ├─udevd(457)─┬─udevd(704)
       │            └─udevd(706)
       ├─udisks-daemon(2775)─┬─udisks-daemon(2776)
       │                     └─{udisks-daemon}(2999)
       ├─upowerd(1865)
       ├─upstart-udev-br(453)
       ├─wnck-applet(2885)───{wnck-applet}(2892)
       └─wpa_supplicant(1383)

mmm troppo prolisso, meglio greppare:

 $ pstree -p | grep 3462
       |-gweather-applet(2921)-+-sh(3462)

Ecco cos’era! il programmino della situazione meteo

 $ kill -9 2921

Così è sparito anche il defunct, e il computer tira un sospiro di sollievo.

Link utili suill’argomento processi

Altri post su Linux

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.