Come trovare il PID di un processo Linux con PIDOF o PGREP

Nov 15, 2024
Linux

Lavorare con un processo Linux spesso significa conoscere il suo ID di processo o PID. È un numero unico dato a ogni software di corsa. Ecco due modi per scoprire di cosa si tratta.

Cos'è un ID processo Linux?
Come ottenere un PID Linux con il comando PIDOF
Come trovare PIDS con il comando PGREP in Linux

Cos'è un ID processo Linux?

Internamente, Linux tiene traccia del suo processo di esecuzione assegnandoli un numero ID univoco, chiamato ID processo o PID. Ogni applicazione, utilità e demone in esecuzione ha un PID.

I PID sono semplici valori interi. Un processo appena avviato riceverà un PID superiore all'ultimo PID che è stato emesso. Quindi il processo con il PID più alto è il processo più recente, cioè più recentemente -. Ciò continua fino a quando il sistema non raggiunge il valore massimo per un PID.

Il limite superiore per un PID è 32768. Una volta raggiunta quella figura, Linux torna all'inizio e cerca un PID che è diventato libero perché il processo che in precedenza lo ha interrotto.

Il processo con un PID di 1 è il primo processo lanciato quando Linux viene lanciato dai processi di avvio. Sui sistemi basati su SystemD che saranno SystemD . Su altri sistemi è probabile che lo sia dentro , sebbene alcune distribuzioni Linux utilizzino alternative come Openrc O S6 .

A volte è utile scoprire il PID di un processo, di solito perché si desidera eseguire alcune azioni su quel processo. Ecco due diversi metodi per trovare il PID di un processo quando conosci il nome del processo.

IMPARENTATO: Cosa sono i PID UNIX e come funzionano?

Come ottenere un PID Linux con il comando PIDOF

IL Pidof Il comando può essere pensato come la combinazione di "PID" e "OF". È come chiedere qual è il PID di questo processo? Se utilizziamo il comando senza parametri, non fa nulla. Ti restituisce silenziosamente al prompt dei comandi. Dobbiamo specificare un nome di processo.

Pidof ci dice che il PID del guscio bash è 8304. Possiamo verificarlo con il ps comando. Tutto quello che dobbiamo fare è chiamare ps senza parametri. Riferirà sui processi in esecuzione nella sessione corrente.

Perché ps Rapporti su tutti i processi che può trovare, che includerà se stessa, ci dice che c'è un Bash processo e a ps Processo in esecuzione. Come ci aspetteremmo, il Bash Il processo ha lo stesso PID che Pidof riportato su.

Se hai più di una finestra del terminale aperto, Pidof riferirà a tutti loro.

Si noti che i PID sono elencati dal più alto al più basso o, in altre parole, dal più recente al più vecchio.

Ciò che ciò non mostra è che potresti non essere il proprietario di tutti questi processi. Pidof Trova tutti i processi con nomi corrispondenti, indipendentemente da chi li possiede. Guardiamo più in profondità con le vesche di output grep . Stiamo usando il -e (Seleziona tutti i processi) e il -F (elenco completo) Opzioni con ps .

Due dei processi bash appartengono all'utente Dave, il terzo appartiene all'utente Mary.

A volte un'applicazione genererà molti processi, ognuno dei quali riceve il proprio PID. Questo è ciò che otteniamo con Google Chrome.

Per impostazione predefinita, Pidof Rapporti su tutti i processi. Se vogliamo, possiamo chiedere solo il più recente di questi processi. IL -S (Single Shot) l'opzione fa proprio questo.

Per usare il uccisione comando a uccidere manualmente tutti di cromo I processi sarebbero noiosi. Se catturiamo l'elenco dei processi in una variabile, possiamo passare quella variabile al uccisione comando. IL uccisione Il comando può accettare più PID sul suo comando, quindi accetta felicemente il nostro contributo e uccide tutti i processi per noi.

Il primo comando raccoglie l'output da Pidof e lo assegna alla nostra variabile, che stiamo nominando pid . Non ne abbiamo bisogno eco Alle schermo, lo stiamo solo facendo per mostrare cosa riserva la nostra variabile.

Passiamo la variabile a uccisione comando, quindi usa Pidof Ancora una volta per verificare se rimangono processi di cromo. Sono stati tutti uccisi.

Una stranezza di Pidof è che non restituirà il PID di uno script di shell. Restituisce il PID del Bash Shell che sta eseguendo lo script. Per vedere la shell che esegue uno script, dobbiamo usare il -X (Script) Opzione.

Pidof Restituisce il PID di un guscio di bash e ps ci mostra che ci sono due conchiglie in esecuzione. Uno è la shell che esegue il Pidof comando e l'altro è la shell che esegue lo script.

Come trovare PIDS con il comando PGREP in Linux

IL pGrep Il comando funziona un po 'come Pidof Nel ottenere ID di processo in Linux. Tuttavia, non trova solo processi che corrispondono esattamente all'indizio di ricerca, restituisce anche i PID di eventuali processi il cui nome contiene il testo di ricerca.

Ecco un esempio su un computer che ha Firefox in esecuzione.

Tutti questi comandi trovano il processo Firefox e restituiscono il PID. Ma se avessi inserito il comando:

Da solo, come faresti a sapere se pGrep avesse trovato Fi RIFO X e no, diciamo, un dameon chiamato p Rebor MD?

Se aggiungi il -l (Nome elenco) Opzione, PGREP elencherà il nome del processo insieme al PID.

Se ci sono più istanze di un processo di corrispondenza, sono tutti elencati.

Si noti che sono elencati in ordine crescente, che è l'ordine opposto all'output da Pidof . Sono elencati dal processo più antico al processo più recente. Come abbiamo visto con Pidof , non tutti i processi elencati ti appartengono necessariamente.

IL -u (ID utente) L'opzione consente di cercare processi che corrispondono al testo di ricerca e sono di proprietà del denominato utente .

Questa volta vediamo tre processi di bash nei risultati. L'altro viene utilizzato da Maria .

E possiamo chiedere di vedere tutti i processi per un utente specifico.

Per vedere la riga di comando completa, usa il -UN (Elenco completo) Opzione.

Una parola sulla proprietà PID

Non tutti i processi di sistema sono di proprietà di l'utente root . Molti sono, ovviamente, ma non tutti. Ad esempio, questo comando funziona:

Fallisce perché radice non possiede quel processo. Il proprietario effettivo è un utente di sistema chiamato "Avahi". Utilizzando il nome utente corretto, il comando funziona.


Linux - Articoli più popolari

Come utilizzare DB Browser per SQLite su Linux

Linux Dec 16, 2024

Fatmawati Achmad Zaenuri / Shutterstock Browser DB per SQLite Consente di visualizzare e modificare i database SQLITE su Linux. È possibile progettar..


Come gestire i server Linux con l'interfaccia Web Cockpit

Linux Dec 9, 2024

Fatmawati Achmad Zaenuri / Shutterstock È possibile facilmente monitorare e gestire più computer Linux con cockpit, uno strumento di amministrazione e dashbo..


Cosa c'è di nuovo in Ubuntu 21.04 'Hirsute Hippo'

Linux Apr 22, 2025

Il nuovo rilascio di Ubuntu 21.04. , l'ippopotamo Hirsute, è stato rilasciato il 22 aprile 2021. È un rilascio provvisorio della famosa distribuzione Linux, con solo nove me..


Come utilizzare Strace per monitorare le chiamate di sistema Linux

Linux Jun 23, 2025

Fatmawati Achmad Zaenuri / Shutterstock.com I programmi Linux chiedono il kernel fare alcune cose per loro. Il strace Comando rivela qu..


Come aggiornare Arch Linux

Linux Jul 30, 2025

Progetto di Ubuntu Il tempo è arrivato a aggiornare il tuo sistema Arch Linux? Sia che tu sia in puro arco o una distribuzione a base arco come Manjar..


Come configurare o disabilitare le notifiche di aggiornamento della menta Linux

Linux Jul 9, 2025

Hai abbastanza delle fastidiose notifiche di aggiornamento di Linux Mint? O forse sei così preoccupato di stare aggiornato che vuoi vederli ancora di più? Ad ogni modo, regolare le notif..


nativo di gioco su Linux può essere Dying, e va bene così

Linux Sep 27, 2025

DC Studio / Shutterstock.com Il Deck a vapore , annunciato nell'agosto del 2021, ha i cerchi di gioco di Linux che parlano del futuro dei giochi su ..


KDE Connect è finalmente arrivato a iPhone

Linux Oct 26, 2025

KDE. Se stai cercando un modo semplice per far giocare il tuo iPhone con il tuo Desktop KDE. , oggi è il tuo giorno fortunato, come KDE Connect è final..


Categorie