Questo articolo copre le basi di Linux pkill comando.
pkill è un'utilità della riga di comando che invia segnali ai processi di un programma in esecuzione in base a determinati criteri. I processi possono essere specificati dai loro nomi completi o parziali, da un utente che esegue il processo o da altri attributi.
Il pkill il comando fa parte di procps (o procps-ng ), che è preinstallato su quasi tutte le distribuzioni Linux. pkill è basicity un wrapper attorno a pgrep programma che stampa solo un elenco di processi corrispondenti.
Come utilizzare pkill Comando #
La sintassi per pkill il comando è il seguente:
pkill [OPTIONS] <PATTERN>
Il <PATTERN> corrispondente viene specificato utilizzando espressioni regolari estese.
Quando viene invocato senza alcuna opzione, pkill invia il 15 (TERM ) segnale ai PID di tutti i programmi in esecuzione che corrispondono al nome dato. Ad esempio, per interrompere con grazia tutti i processi di Firefox, eseguire:
pkill -15 firefox
Il comando restituisce 0 quando almeno un processo in esecuzione corrisponde al nome richiesto. In caso contrario, il codice di uscita è 1 . Questo può essere utile quando si scrivono script di shell.
Per inviare un segnale diverso ai processi abbinati, invoca il pkill comando con il --signal opzione, seguito dal nome del segnale numerico o simbolico. Un altro modo per inviare un segnale è eseguire pkill seguito dal nome o numero del segnale preceduto da un trattino (- ).
Usa kill -l comando per elencare tutti i segnali disponibili.
I segnali più comunemente usati sono:
1(HUP):per ricaricare un processo.9(KILL):per terminare un processo.15(TERM):per interrompere con grazia un processo.
I segnali possono essere specificati in tre modi diversi:
- utilizzando un numero (ad es. -1)
- con il prefisso "SIG" (ad es. -SIGHUP)
- senza il prefisso "SIG" (ad es. -HUP).
Ad esempio, per ricaricare Nginxprocesses eseguiresti:
pkill -HUP nginx
pkill usa espressioni regolari per abbinare i nomi dei processi. È sempre una buona idea usare pgrep comando per stampare i processi abbinati prima di inviare loro segnali. Ad esempio, per elencare tutti i processi che contengono "ssh" nei loro nomi:
1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent
Se vuoi inviare un segnale solo ai processi i cui nomi sono esattamente come il modello di ricerca, dovresti usare:
pkill '^ssh$' Il cursore (^ ) il carattere corrisponde all'inizio della stringa e il dollaro $ alla fine.
Per impostazione predefinita, pkill corrisponde solo al nome del processo. Quando -f viene utilizzata l'opzione, il comando corrisponde a elenchi di argomenti completi. Se il comando contiene spazi, cita l'intero comando:
pkill -9 -f "ping 8.8.8.8"
Usa -u opzione per dire a pkill per abbinare i processi eseguiti da un determinato utente:
pkill -u mark Per specificare più utenti, separa i loro nomi con virgole:
pkill -u mark,danny
Puoi anche combinare opzioni e modelli di ricerca. Ad esempio per inviare KILL segnala tutti i processi che vengono eseguiti sotto l'utente "mark" e contiene "gnome" nei loro nomi che digiteresti:
pkill -9 -u mark gnome
Per visualizzare solo i processi avviati meno di recente (più vecchi) o più recenti (più recenti), utilizzare il -n (per i più recenti) o -o (per la meno recente).
Ad esempio, per eliminare lo schermo creato più di recente:
pkill -9 -n screen Conclusione #
Il pkill Il comando viene utilizzato per inviare segnali ai programmi in esecuzione in base a criteri diversi.
Per ulteriori informazioni su pkill comando, visita la pagina man di pkill o digita man pkill nel tuo terminale.
Se hai domande o feedback, sentiti libero di lasciare un commento.