Risposte:
Il comando per scoprire l'id di un processo (dato il suo nome) è pidof. Tuttavia, poiché la tua intenzione è quella di uccidere il processo, ci sono modi migliori / più facili rispetto all'uso pidofdi trovare prima il suo pid:
Supponendo che il processo che si desidera uccidere sia identificato in modo univoco dal suo nome (o si desidera uccidere tutti i processi con quel nome), non è necessario conoscerne il pid. Puoi semplicemente farlo killall processname.
Se ci sono più processi con lo stesso nome, ma vuoi solo ucciderne uno, l'utilizzo pidofnon ti aiuterà molto, perché ti darà i pid, ma non ti darà alcuna informazione per determinare quale dei pids appartiene al processo che in realtà vuoi uccidere.
In questo caso puoi fare ps aux | grep processnameciò che mostrerà tutti i processi con il nome specificato e la console su cui sono in esecuzione (se applicabile) e gli argomenti con cui sono stati invocati, il che si spera ti permetta di identificare il processo che stai cercando .
Se il processo ha aperto X-windows, puoi anche usare xkillper uccidere (invocare xkille quindi fare clic sulla finestra).
Il mio preferito è pstree -p | grep $(program_name). Questo in realtà fa fallire il processo, lo evidenzia e mostra il pid tra parentesi.
Il mio prossimo preferito (specialmente durante la programmazione e la necessità di tutti i pid dal processo) è pgrep -law "". Questo ti dà letteralmente ogni pid in esecuzione seguito dall'applicazione (con percorso assoluto).
Questo può essere ridotto a pgrep -lw ""per pid seguito dal nome del programma o anche solo pgrep -lper tutti i pid
Ovviamente, puoi cercare un particolare nome di programma (o parte del nome di un programma). (cioè pgrep -lw firefprobabilmente visualizzerà qualcosa come "4567 firefox").
pstree -psH $(pgrep prgram_name)sarebbe meglio per il primo caso?
Questa risposta, da @ Ben su una domanda duplicata , ha risolto il mio problema:
Prendi in considerazione l'utilizzo del topcomando nel terminale.
The top program provides a dynamic real-time view of a running
system. It can display system summary information as well as a
list of processes or threads currently being managed by the Linux
kernel. The types of system summary information shown and the
types, order and size of information displayed for processes are
all user configurable and that configuration can be made persis‐
tent across restarts.
via top uomo
grepcercare il nome del processo specifico:ps -A | grep 'my name'