
Foto per gentile concessione di:seiho
Il comando Kill viene utilizzato per inviare un segnale a un processo o per terminare un processo. In genere utilizziamo kill -SIGNAL PID, dove conosci il PID del processo.
Esistono altri modi per interrompere un processo in modo efficace — uccidere un processo per nome, uccidere un processo specificando parte del nome, terminare un processo indicando il processo con il cursore ecc.,
In questo articolo, esaminiamo 4 modi per terminare un processo.
1. Kill Command:termina il processo specificando il suo PID
Tutte le seguenti convenzioni kill invieranno il segnale TERM al processo specificato. Per i segnali è possibile utilizzare il nome del segnale o il numero del segnale. Devi cercare il pid per il processo e fornirlo come argomento per uccidere.
$ kill -TERM pid $ kill -SIGTERM pid $ kill -15 pid
Esempio:uccidi il processo Firefox.
$ ps -ef | grep firefox 1986 ? Sl 7:22 /usr/lib/firefox-3.5.3/firefox $ kill -9 1986
2. Comando Killall:elimina i processi per nome
Invece di specificare un processo tramite il suo PID, è possibile specificare il nome del processo. Se più di un processo viene eseguito con quel nome, tutti verranno uccisi.
Esempio:terminare tutti i processi Firefox
$ killall -9 firefox
3. Comando Pkill:invia un segnale al processo in base al suo nome
È possibile inviare il segnale a qualsiasi processo specificando il nome completo o parziale. Quindi non è necessario che tu scopra il PID del processo per inviare il segnale.
Esempio:invia SIGTERM a tutto il processo che ha sample nel suo nome.
$ pkill sample
Esempio Pkill:
Prima di inviare il segnale, puoi verificare quali sono tutti i processi che soddisfano i criteri utilizzando "pgrep -l", che mostra l'ID del processo e il nome del processo dei processi corrispondenti.
In questo esempio, tutti i processi sono progettati per registrare il segnale in signal-log, insieme al suo PID.
$ pgrep -l sample 12406 sample-server.p 12425 sample-server.p 12430 sample-garbagec $ pkill -USR1 sample $ cat signal-log Name: ./sample-server.pl Pid: 12406 Signal Received: USR1 Name: ./sample-server.pl Pid: 12425 Signal Received: USR1 Name: ./sample-garbagecollector.pl Pid: 12430 Signal Received: USR1
Nota: La parte del nome che specifichi dovrebbe essere nel carattere entro i primi 15 caratteri del nome del processo.
4. Xkill Command:uccidi un client con una risorsa X
xkill è il modo più semplice per uccidere un programma malfunzionante. Quando vuoi terminare un processo, avvia xkill che offrirà un cursore a croce. Fai clic sulla finestra con il cursore sinistro che interromperà quel processo.
$ xkill Select the window whose client you wish to kill with button 1.... xkill: killing creator of resource 0x1200003
Nota: In realtà, xkill ordina a XServer di terminare il client.