
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