Glossario/Quando qualcosa va storto
PID
Anche: ID processo
In breve
Un PID, o ID processo, è un numero che macOS assegna a ogni processo in esecuzione per identificarlo. Due processi in esecuzione non hanno mai lo stesso PID, ma un numero può essere riusato dopo che il suo processo è terminato.
Monitoraggio Attività mostra il PID in una colonna apposita. I comandi del Terminale come kill, sample e lsof usano il PID per sapere a quale processo ti riferisci, visto che più processi possono avere lo stesso nome.
Su macOS, il PID 0 è kernel_task e il PID 1 è launchd, il primo processo, che avvia il resto del sistema. Le app che apri ricevono numeri più alti, e un nuovo PID a ogni avvio.
Come trovare il PID di un’app
In Monitoraggio Attività, trova l’app nell’elenco e leggi la colonna PID. Se la colonna è nascosta, scegli Vista > Colonne > PID.
Nel Terminale, pgrep -l Safari elenca i processi corrispondenti con i loro PID. ps -p <PID> -o pid,ppid,comm mostra il nome di un processo e il PID del suo processo padre.
Cosa dice il PID del processo padre
Ogni processo tranne il primo ha un padre, il processo che l’ha avviato. Scegliendo Vista > Tutti i processi in gerarchia in Monitoraggio Attività vedi questi rapporti tra padri e figli come un albero.
Come trovare un PID nel Terminale
Nel Terminale i nomi dei processi possono essere diversi da quelli delle app. Molte app eseguono processi helper con nomi come “App Helper (Renderer)”, ognuno con il suo PID.
- Apri il Terminale da Applicazioni > Utility.
- Esegui
pgrep -lx Finderper ottenere il PID di un processo che si chiama esattamente Finder. Toglixper cercare una parte del nome. - Se un’app ha più processi, esegui
pgrep -lf "Google Chrome"per cercare nell’intera riga di comando. - Per vedere il PID della tua shell, esegui
echo $$.
Come scoprire a quale app appartiene un PID
Messaggi di errore e file di log citano spesso un PID senza nome. Per risalire al processo, esegui ps -p <PID> -o pid,ppid,user,command. Mostra il percorso completo del programma, quale utente lo esegue e il PID del suo padre.
In Monitoraggio Attività, fai clic sull’intestazione della colonna PID per ordinare in base a quella, poi scorri fino al numero. Fai doppio clic sul processo per aprire la finestra di informazioni, che mostra anche il processo padre.
Se ps non stampa niente, il processo è già uscito.
Cosa puoi fare con un PID
Prima controlla il nome con ps -p <PID>. I PID vengono riusati, quindi un numero copiato prima potrebbe ora appartenere a un altro processo.
kill <PID>chiede al processo di uscire.kill -9 <PID>lo termina subito.sample <PID> 5registra cosa fa il processo per 5 secondi.lsof -p <PID>elenca i file e le connessioni di rete che ha aperto.lsof -a -p <PID> -d cwdmostra la cartella in cui è in esecuzione.top -pid <PID>mostra in tempo reale il suo uso di CPU e memoria. Premi q per uscire.
Quando usare un PID invece di un nome
I comandi che lavorano per nome, come killall Safari o pkill Safari, agiscono su ogni processo corrispondente. Di default killall invia il segnale di uscita a tutti i processi corrispondenti che ti appartengono, e pkill trova qualsiasi processo il cui nome contiene il testo che scrivi.
Va bene per una singola app, ma è rischioso quando molti processi hanno lo stesso nome. Un browser può eseguire decine di processi helper, e più copie di node o python possono appartenere a progetti diversi. Un PID indica esattamente un processo, quindi usalo quando vuoi fermarne uno e lasciare in esecuzione gli altri.
Se usi un nome, guarda prima le corrispondenze. pgrep -l <name> elenca quelli su cui agirebbe pkill, e killall -d <name> stampa cosa farebbe killall senza inviare niente.
Domande frequenti
Cosa significa PID in Monitoraggio Attività?
PID sta per ID processo (process ID). È un numero unico per ogni processo in esecuzione, usato per distinguere i processi e per indicarli nei comandi del Terminale.
Un’app mantiene sempre lo stesso PID?
Solo finché è in esecuzione. Quando chiudi e riapri un’app, riceve un nuovo PID.
Cos’è il PID 1 sul Mac?
Il PID 1 è launchd, il processo che avvia e gestisce gli altri processi su macOS. Non va mai chiuso.
Come terminare un processo tramite PID sul Mac?
Esegui kill <PID> nel Terminale. Se non si chiude, kill -9 <PID> lo termina subito, e i dati non salvati possono andare persi.
Due processi possono avere lo stesso PID?
Non nello stesso momento. Un PID può essere assegnato a un nuovo processo dopo che il vecchio è uscito.
Cos’è il PID 0 in Monitoraggio Attività?
Il PID 0 è kernel_task, che rappresenta il kernel di macOS. Non si può chiudere.
Correlati
Vieni da Windows? Leggi Task Manager per Mac, oppure le migliori alternative a Monitoraggio Attività. Oppure sfoglia tutti i termini del glossario.