pidof
è un'utilità della riga di comando che consente di trovare l'ID del processo di un programma in esecuzione.
In questo articolo spiegheremo come usare il pidof
di Linux comando.
Come utilizzare il pidof
Comando #
Esistono diverse implementazioni di pidof
per le distribuzioni basate su Red Hat e Debian. Sulle distribuzioni Red Hat, il pidof
il comando fa parte del procps-ng
pacchetto, mentre su Debian, fa parte di sysvinit-utils
. Esamineremo le opzioni comuni per entrambe le implementazioni.
La sintassi per il pidof
il comando è il seguente:
pidof [OPTIONS] PROGRAM_NAME
Il comando accetta zero o più nomi come argomenti, ma in genere passeresti un solo nome a pidof
.
Quando viene invocato senza alcuna opzione, pidof
stamperà i PID di tutti i programmi in esecuzione che corrispondono al nome dato. Ad esempio, per trovare il PID del server SSH, eseguire:
pidof sshd
Se sono presenti processi in esecuzione con nomi che corrispondono a sshd
, i loro PID verranno visualizzati sullo schermo. Se non vengono trovate corrispondenze, l'output sarà vuoto.
4382 4368 811
pidof
restituisce 0
quando almeno un programma 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 essere sicuri che vengano visualizzati solo i PID del programma che si sta cercando, utilizzare il percorso completo del programma come argomento. Ad esempio, se hai due programmi in esecuzione con lo stesso nome che si trovano in due directory diverse pidof
mostrerà i PID di entrambi i programmi in esecuzione.
Per impostazione predefinita, vengono visualizzati tutti i PID dei programmi in esecuzione corrispondenti. Usa i -s
opzione per forzare pidof
per visualizzare un solo PID:
pidof -s program_name
Il -o
l'opzione consente di escludere un processo con un determinato PID dall'output del comando:
pidof -o pid program_name
Quando pidof
viene invocato con -o
opzione, è possibile utilizzare un PID speciale denominato %PPID
che rappresenta la shell o lo script della shell chiamante.
Per restituire solo i PID dei processi in esecuzione con la stessa directory principale, utilizzare il -c
opzione.
Questa opzione funziona solo pidof
viene eseguito come root o sudo
utente:
pidof -c pid program_name
Esempio di utilizzo del pidof
Comando #
L'esempio seguente mostra come utilizzare il pidof
comando in combinazione con kill
comando per terminare un programma.
Diciamo che il browser Firefox non risponde e devi interrompere i processi di Firefox. Innanzitutto, trova i PID, con pidof
:
pidof firefox
Il comando stamperà tutti i processi di Firefox:
2551 2514 1963 1856 1771
Una volta che conosci i PID di elaborazione di Firefox, invia il SEGTERM
segnale per terminarli tutti:
sudo kill -9 2551 2514 1963 1856 1771
Puoi anche usare l'espressione di sostituzione del comando $(...)
, per terminare il programma con un comando:
sudo kill -9 $(pidof firefox)
Conclusione #
Il pidof
Il comando viene utilizzato per scoprire i PID di uno specifico programma in esecuzione.
pidof
è un comando semplice che non ha molte opzioni. In genere invocherai pidof
solo con il nome del programma che stai cercando.
Se hai domande o feedback, sentiti libero di lasciare un commento.