
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).
Sommario
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.
Commenti recenti