Un ispettore processi per il tuo Mac, integrato nel tuo monitor attività.
Fai clic su un processo qualsiasi e il suo pannello mostra l’app a cui appartiene, la sua firma del codice e l’ID team, le sue autorizzazioni, il processo padre e il Launch Agent, la riga di comando completa, e il tempo CPU, la memoria, i file aperti e le porte in ascolto che ha usato da quando è partito. Un’app aggiunge la versione, l’ID bundle e l’Info.plist. Salvalo come CSV, oppure ottieni lo stesso con vitals process nel Terminale.
- Versione
- 156.0.8078.74
- ID bundle
- com.google.Chrome
- Architettura
- Universale · x86_64 · arm64
- Firma
- Google LLC · ID team EQHXZ8M8AV
- Protezione
- Runtime protettoSenza sandbox
- Utente
- me
- In esecuzione da
- 6h 14m
- Posizione
- /Applications/Google Chrome.app
- Versione
- 2.15
- ID bundle
- com.apple.Terminal
- Architettura
- Chip Apple · arm64e
- Firma
- Apple
- Protezione
- Nessun runtime protettoSenza sandbox
- Utente
- me
- In esecuzione da
- 2d 6h
- Posizione
- /System/Applications/Utilities/Terminal.app
- Versione
- 4.88.1
- ID bundle
- com.docker.docker
- Architettura
- Chip Apple · arm64
- Firma
- Docker Inc · ID team 9BNSXJN65R
- Protezione
- Runtime protettoSenza sandbox
- Utente
- me
- In esecuzione da
- 3d 1h
- Posizione
- /Applications/Docker.app
- ID Processo
- 48190
- Processo padre
- launchd (1)
- In esecuzione da
- 6h 14m
- ID bundle
- com.google.Chrome
- Versione
- 156.0.8078.74
- Architettura
- Universale · x86_64 · arm64
- Firma
- Google LLC · ID team EQHXZ8M8AV
- Runtime protetto
- Sì
- Sandbox
- No
- Autorizzazioni
- 1
- Tempo CPU
- 42m 10s Utente 32m 54s · 78%Sistema 9m 16s · 22%
- Memoria
- 412 MB · 61% del picco di 672 MB
- Thread
- 64
- File aperti
- 318
- ID Processo
- 48211
- Processo padre
- Google Chrome (48190)
- Aperto da
- Google Chrome (48190)
- In esecuzione da
- 6h 12m
- Versione
- 156.0.8078.74
- Architettura
- Universale · x86_64 · arm64
- Argomenti
- --type=renderer --lang=en-US --num-raster-threads=4 --enable-zero-copy
- Firma
- Google LLC · ID team EQHXZ8M8AV
- Runtime protetto
- Sì
- Sandbox
- No
- Autorizzazioni
- 1
- Tempo CPU
- 12m 40s Utente 10m 23s · 82%Sistema 2m 17s · 18%
- Memoria
- 1,92 GB · 88% del picco di 2,18 GB
- Thread
- 23
- File aperti
- 96
- ID Processo
- 48193
- Processo padre
- Google Chrome (48190)
- Aperto da
- Google Chrome (48190)
- In esecuzione da
- 6h 14m
- Versione
- 156.0.8078.74
- Architettura
- Universale · x86_64 · arm64
- Argomenti
- --type=gpu-process --lang=en-US --gpu-preferences=UAAAAAAAAADgAAAEAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAA
- Firma
- Google LLC · ID team EQHXZ8M8AV
- Runtime protetto
- Sì
- Sandbox
- No
- Autorizzazioni
- 1
- Tempo CPU
- 18m 2s Utente 12m 37s · 70%Sistema 5m 25s · 30%
- GPU
- 3%
- Memoria
- 842 MB · 93% del picco di 904 MB
- Thread
- 31
- File aperti
- 142
- ID Processo
- 48377
- Processo padre
- Google Chrome (48190)
- Aperto da
- Google Chrome (48190)
- In esecuzione da
- 3h 40m
- Versione
- 156.0.8078.74
- Architettura
- Universale · x86_64 · arm64
- Argomenti
- --type=renderer --lang=en-US --num-raster-threads=4 --enable-zero-copy
- Firma
- Google LLC · ID team EQHXZ8M8AV
- Runtime protetto
- Sì
- Sandbox
- No
- Autorizzazioni
- 1
- Tempo CPU
- 4m 51s Utente 4m 2s · 83%Sistema 49s · 17%
- Memoria
- 1,31 GB · 96% del picco di 1,36 GB
- Thread
- 21
- File aperti
- 88
- ID Processo
- 581
- Processo padre
- launchd (1)
- In esecuzione da
- 2d 6h
- ID bundle
- com.apple.Terminal
- Versione
- 2.15
- Architettura
- Chip Apple · arm64e
- Firma
- Apple
- Runtime protetto
- No
- Sandbox
- No
- Autorizzazioni
- 6
- Tempo CPU
- 3m 12s Utente 2m 2s · 64%Sistema 1m 10s · 36%
- Memoria
- 148 MB · 71% del picco di 208 MB
- Thread
- 12
- File aperti
- 58
- ID Processo
- 60120
- Processo padre
- login (60118)
- Aperto da
- Terminale (581)
- In esecuzione da
- 2d 5h
- Architettura
- Chip Apple · arm64e
- Argomenti
- -zsh
- Firma
- Apple
- Runtime protetto
- No
- Sandbox
- No
- Tempo CPU
- 1.2s Utente 0.7s · 58%Sistema 0.5s · 42%
- Memoria
- 12 MB · 60% del picco di 20 MB
- Thread
- 1
- File aperti
- 8
- ID Processo
- 60412
- Processo padre
- zsh (60120)
- Aperto da
- Terminale (581)
- In esecuzione da
- 2d 4h
- Architettura
- Chip Apple · arm64
- Argomenti
- node_modules/.bin/next dev --port 3000
- Firma
- Node.js Foundation · ID team HX7739G8FX
- Runtime protetto
- Sì
- Sandbox
- No
- Tempo CPU
- 1h 52m Utente 1h 42m · 91%Sistema 10m 5s · 9%
- Memoria
- 486 MB · 61% del picco di 797 MB
- Thread
- 19
- File aperti
- 203
- Porte in ascolto
- 3000
- ID Processo
- 60533
- Processo padre
- zsh (60120)
- Aperto da
- Terminale (581)
- In esecuzione da
- 14s
- Architettura
- Chip Apple · arm64
- Argomenti
- node_modules/.bin/vitest run --coverage
- Firma
- Node.js Foundation · ID team HX7739G8FX
- Runtime protetto
- Sì
- Sandbox
- No
- Tempo CPU
- 9.1s Utente 8.0s · 88%Sistema 1.1s · 12%
- Memoria
- 391 MB · 100% del picco di 391 MB
- Thread
- 27
- File aperti
- 412
- ID Processo
- 20288
- Processo padre
- launchd (1)
- In esecuzione da
- 3d 1h
- ID bundle
- com.docker.docker
- Versione
- 4.88.1
- Architettura
- Chip Apple · arm64
- Firma
- Docker Inc · ID team 9BNSXJN65R
- Runtime protetto
- Sì
- Sandbox
- No
- Autorizzazioni
- 7
- Tempo CPU
- 6m 4s Utente 4m 31s · 74%Sistema 1m 33s · 26%
- Memoria
- 112 MB · 48% del picco di 233 MB
- Thread
- 22
- File aperti
- 74
- ID Processo
- 20311
- Processo padre
- Docker (20288)
- Aperto da
- Docker (20288)
- In esecuzione da
- 3d 1h
- Versione
- 4.88.1
- Architettura
- Chip Apple · arm64
- Argomenti
- -watchdog -max-restarts 5
- Firma
- Docker Inc · ID team 9BNSXJN65R
- Runtime protetto
- Sì
- Sandbox
- No
- Autorizzazioni
- 7
- Tempo CPU
- 3h 8m Utente 2h 0m · 64%Sistema 1h 8m · 36%
- Memoria
- 1,57 GB · 77% del picco di 2,04 GB
- Thread
- 48
- File aperti
- 241
- ID Processo
- 20340
- Processo padre
- com.docker.backend (20311)
- Aperto da
- Docker (20288)
- In esecuzione da
- 12s
- Versione
- 4.88.1
- Architettura
- Chip Apple · arm64
- Firma
- Docker Inc · ID team 9BNSXJN65R
- Runtime protetto
- Sì
- Sandbox
- No
- Autorizzazioni
- 1
- Tempo CPU
- 2.0s Utente 1.6s · 80%Sistema 0.4s · 20%
- Memoria
- 64 MB · 100% del picco di 64 MB
- Thread
- 9
- File aperti
- 31
- ID Processo
- 20318
- Processo padre
- com.docker.backend (20311)
- Aperto da
- Docker (20288)
- In esecuzione da
- 3d 1h
- Versione
- 4.88.1
- Architettura
- Chip Apple · arm64
- Firma
- Docker Inc · ID team 9BNSXJN65R
- Runtime protetto
- Sì
- Sandbox
- No
- Autorizzazioni
- 3
- Tempo CPU
- 1h 4m Utente 31m 12s · 49%Sistema 32m 48s · 51%
- Memoria
- 38 MB · 73% del picco di 52 MB
- Thread
- 14
- File aperti
- 46
I numeri sono simulati: una pagina web non può leggere il tuo Mac, e non dovrebbe.
L’app dietro un processo, la sua firma del codice e le sue autorizzazioni.
Il pannello si apre con l’app a cui appartiene un processo e che tipo di processo è: un pannello del browser, un’estensione, un processo GPU, un server di sviluppo. Poi la sua firma del codice, con il nome dello sviluppatore e l’ID team, se usa il runtime protetto e una sandbox, ogni autorizzazione che ha, e se è compilato per chip Apple, Intel o entrambi e gira tramite Rosetta.
- L’app a cui appartiene, e se è un pannello, un’estensione o un helper
- La firma del codice, con l’ID team; quelli di Apple dicono Apple
- Runtime protetto, sandbox e ogni autorizzazione
- Compilato per chip Apple, Intel o entrambi, e se lo esegue Rosetta
Il processo padre, il Launch Agent e la riga di comando completa.
Ogni processo ha un padre, e Vitals lo nomina, con l’app che l’ha aperto e, per un processo in background, il Launch Agent o Launch Daemon di launchd che lo avvia al login. La riga di comando completa trasforma un semplice node o python nel server di sviluppo di un progetto che conosci. Sotto, i processi figli che ha avviato, ciascuno a un clic.
- Processo padre e l’app che l’ha aperto, ciascuno un link
- Il Launch Agent o Launch Daemon che lo avvia al login
- La riga di comando completa, e il suo ambiente quando lo apri
- Processi figli, ciascuno con i propri numeri
Tempo CPU, picco di memoria, file aperti e porte in ascolto da quando è partito.
Una percentuale parla di questo secondo. Il pannello copre l’intera vita del processo: il tempo CPU dall’avvio, diviso tra il suo lavoro e quello che il kernel fa per lui; la memoria ora rispetto al massimo che ha mai occupato; thread, file aperti, pagine in entrata, byte letti e scritti, e le porte su cui è in ascolto, con un grafico in tempo reale di CPU e memoria finché il pannello è aperto.
- Tempo CPU, diviso tra utente e sistema
- Memoria ora, come quota del picco dall’avvio
- Thread, file aperti, pagine in entrata, disco letto e scritto
- Porte in ascolto, e grafici in tempo reale finché il pannello è aperto
La versione, l’ID bundle e l’Info.plist di un’app, con ogni processo che ha sotto.
Apri un’app e la sua scheda Dettagli dà la versione, l’ID bundle, la posizione, la firma del codice e cosa la avvia, con l’intero Info.plist a un clic. I suoi processi sono elencati sotto, ciascuno a un clic dai suoi dettagli. Uno appena partito porta un segno Nuovo, e quelli terminati negli ultimi dieci minuti restano in elenco, così un crash o un helper arrivato e andato via non va perso.
- Versione, ID bundle e l’intero Info.plist
- Ogni processo, con un segno Nuovo su quello appena partito
- Terminati di recente: cosa si è chiuso negli ultimi dieci minuti
- Scegli le colonne della tabella, e filtra con
/a regex/
Esporta un processo come CSV, o esegui vitals process nel Terminale.
Ogni pannello ha un menu di esportazione: Copia come testo per un messaggio o una segnalazione di bug, Salva come CSV per un foglio di calcolo, Info.plist e autorizzazioni compresi. Nel Terminale, vitals process dà lo stesso per qualsiasi processo per nome o PID, e un assistente IA lo ottiene via MCP con lo strumento process_details.
- Copia come testo, o Salva come CSV
vitals process node, o per PID, con--jsonper gli script--envaggiunge l’ambiente,--plistl’Info.plist- Lo strumento
process_detailsper Claude, Codex e Cursor via MCP
Ispettore processi, prima e dopo
La finestra Informazioni di Monitoraggio Attività dà di un processo il padre, l’utente, il tempo CPU, la memoria, i file aperti e le porte, e un campionamento. Non dice chi l’ha firmato, a quale app appartiene un semplice node, cosa lo avvia al login, o qual era la riga di comando completa. Per quelli apri il Terminale: codesign per la firma, ps per gli argomenti, launchctl per cosa lo avvia, lsof per le porte e plutil per l’Info.plist.
La domanda di solito è più semplice. Cos’è questo? Un processo chiamato Helper, un python che nessuno ricorda di aver avviato, qualcosa con un nome come com.apple.something che usa mezzo core. Fa parte di un’app che ho installato, è di Apple, e dovrebbe girare?
Vitals risponde in un solo pannello: l’app a cui appartiene il processo e che tipo di processo è, la firma del codice e le autorizzazioni, il processo padre e la riga di comando, i processi che ha avviato, e il tempo CPU, la memoria, i file e le porte che ha usato da quando è partito, con versione, Info.plist e autorizzazioni ripiegati sotto. La stessa risposta arriva come CSV, come vitals process nel Terminale e come strumento per un assistente IA.
Dove si trova in Vitals
Il pannello, l’elemento nella barra dei menu e l’impostazione, nell’ordine in cui li cercheresti.
- 01
Fai clic su un processo qualsiasi per aprire il suo pannello
In qualsiasi pannello, fai clic su un’app e poi su uno dei suoi processi, oppure passa sopra un processo nel pannello di un’app e fai clic sulla ⓘ. Il pannello si apre su di esso. ⌘F trova un processo per nome, e
/a pattern/cerca con un’espressione regolare. - 02
Leggi il pannello sezione per sezione
Identità, poi App o Eseguibile, Sicurezza, Utilizzo delle risorse, Disco, Rete e Processi figli. Info.plist, Autorizzazioni e Ambiente sono ripiegati finché non li apri. Il padre, chi l’ha aperto e ogni figlio sono link: fai clic su uno per saltarci.
- 03
Scegli le colonne della tabella dei processi
Il pulsante Colonne nella barra degli strumenti aggiunge o toglie le colonne di un pannello: PID, utente, percorso, versione, ora di avvio, riattivazioni da stop e le letture. Ogni pannello conserva la propria scelta.
- 04
Copialo, salvalo come CSV, o chiedi nel Terminale
Il pulsante di condivisione nell’intestazione del pannello offre Copia come testo e Salva come CSV. Nel Terminale,
vitals process <name>ovitals process <pid>, con--json,--envo--plist. Via MCP, lo strumentoprocess_details.
Ispettore processi: Monitoraggio Attività e Vitals
Il confronto completo è riga per riga. Queste sono le righe che riguardano ispettore processi.
codesign nel Terminalevitals process --jsonI termini da conoscere
Cosa significano i numeri, dal glossario di Monitoraggio Attività.
- PID
Un PID, o ID processo, è un numero che macOS assegna a ogni processo in esecuzione per identificarlo.
- launchd
launchd è il primo processo che macOS avvia all’accensione, con ID processo 1.
- Processi helper
I processi helper sono processi separati che un’app avvia per svolgere parte del suo lavoro, come mostrare le pagine web, eseguire le estensioni o gestire la grafica.
- Thread
Un thread è una linea di esecuzione separata dentro un processo, e un processo può eseguire più thread contemporaneamente su core diversi.
- Porta in ascolto
Una porta in ascolto è una porta di rete su cui un processo aspetta connessioni in arrivo, come un server web sulla porta 3000.
- WindowServer
WindowServer è il processo di sistema di macOS che gestisce le finestre, compone ciò che disegnano le app nell’immagine finale sui tuoi schermi e indirizza gli eventi di input, come clic e pressioni dei tasti, all’app giusta.
- Campiona processo
Campiona processo è uno strumento di Monitoraggio Attività che registra cosa fa il processo selezionato per qualche secondo e produce un rapporto di testo su dove i suoi thread passano il tempo.
- Uscita forzata
Uscita forzata chiude subito un’app o un processo, senza lasciargli salvare o fare ordine.
Domande
Quelle che si fanno su ispettore processi prima di acquistare.
Come apro l’ispettore processi?
Fai clic su un processo in qualsiasi elenco e si apre il suo pannello. Nel pannello di un’app ogni processo è una riga: fai clic su una, o sulla ⓘ che compare accanto quando ci passi sopra. Premi ⌘F per trovare un processo per nome, e scrivi /a pattern/ per cercare con un’espressione regolare.
Cosa mi dice la firma del codice di un processo?
Chi ha compilato il codice. Un nome con un ID team è uno sviluppatore identificato da Apple, come Google LLC o Docker Inc. I processi di Apple dicono Apple. “Firmato, senza certificato” è uno strumento compilato su un Mac e firmato da nessuno in particolare, normale per Homebrew e per ciò che compili tu stesso. “Non firmato” significa nessuna firma. Sotto: se usa il runtime protetto, se gira in una sandbox, e ogni autorizzazione che gli è stata concessa.
Vitals può dirmi se un processo è sicuro, o se è malware?
Ti dà i fatti per giudicare: la firma del codice, il processo padre, dove si trova e cosa sta facendo. Un produttore noto con un ID team, una sandbox e un padre che riconosci sono ciò che vuoi vedere. Nessuna firma, un percorso in una cartella nascosta e un Launch Agent che non hai mai installato meritano uno sguardo più da vicino. Vitals non cerca malware; ti dice cosa c’è.
Cos’è il tempo CPU, e perché è diviso tra utente e sistema?
Il tempo CPU è per quanto tempo il processo ha tenuto occupato un core da quando è partito, sommato: un processo al 50% di un core per due ore ha usato un’ora. Il tempo utente è il lavoro del processo stesso; il tempo di sistema è il lavoro che il kernel ha fatto per lui, come leggere file o parlare con la rete. Una quota di sistema alta su un processo che fa poco di solito significa che è impegnato a chiedere cose a macOS.
Perché alcuni processi mostrano meno dettagli di altri?
macOS mostra la riga di comando, l’ambiente e i totali dall’avvio di un processo solo all’utente con cui gira. Un processo che appartiene a macOS o a un altro account li tiene per sé; identità, firma e cifre si vedono comunque, le cifre tramite l’helper opzionale di Vitals. Attiva Metriche di sistema complete in Impostazioni → Generali per averli.
Mostra i processi di macOS come WindowServer e kernel_task?
Sì. La loro app è macOS, la firma è di Apple e il padre è launchd. Con l’helper attivo si vedono anche CPU e memoria, e i grafici del pannello girano finché è aperto.
Posso vedere le variabili d’ambiente di un processo?
Sì, nella sezione Ambiente in fondo al pannello, chiusa finché non la apri, e nel Terminale con vitals process --env. Non vengono mai passate a un assistente IA, perché gli ambienti spesso contengono chiavi.
Per quanto tempo Vitals tiene un processo dopo che è terminato?
Dieci minuti, nel pannello dell’app, con il nome, quando è partito e terminato, e la memoria che occupava. Così un helper che è andato in crash, o una build finita mentre eri via, è ancora lì da vedere.
Posso vedere i dettagli di un processo nel Terminale, o da un assistente IA?
Sì. vitals process node o vitals process 60412 dà gli stessi dettagli, come testo o con --json per uno script; --env aggiunge l’ambiente e --plist l’Info.plist dell’app. Un assistente come Claude, Codex o Cursor lo ottiene con lo strumento process_details del server MCP di Vitals, Info.plist compreso quando lo chiede.
Può campionare un processo o fare uno spindump?
No. Quelli sono di Monitoraggio Attività, e Vitals non li copia. Vitals risponde a cos’è un processo, con la sua firma del codice, il padre e l’uso delle risorse; per lo stack trace di un’app bloccata, apri Monitoraggio Attività e premi Campiona processo.
Continua a leggere
Guide che usano questa funzione, e come Vitals si confronta con le app che si comprano per lo stesso scopo.
- Classifica Process Explorer per Mac: gli strumenti integrati e le 5 migliori app
- Guida Come controllare l’uso di CPU e memoria sul Mac, app per app
- Guida Perché il Mac è così lento? Come trovare la causa e risolvere
- Guida Claude Code usa troppa memoria o CPU sul Mac? Come trovarla e recuperarla
- Classifica Le 12 migliori alternative a Monitoraggio Attività per Mac
- Confronto Vitals vs Monitoraggio Attività
- Confronto Vitals vs ProcessSpy
- Confronto Vitals vs ProcXray
Altre funzioni di Vitals
Tutte le funzioniAgenti di programmazione
Claude Code, Codex, Gemini CLI e gli altri: ogni sessione con il suo progetto, cosa sta facendo e cosa ha avviato.
Limiti di utilizzo IA
Quanto resta di Claude, Codex, Copilot e degli altri, quando si azzera ciascuno e se ci arriverai.
Server MCP
Il tuo assistente chiede cosa è in esecuzione, quale app c’è dietro un numero e cosa c’è su una porta, invece di leggere un elenco di processi.
Lifetime a $15 finché dura il prezzo di lancio
Ancora 50 a questo prezzo. Poi $39, oppure $9 per un anno di aggiornamenti. Un solo pagamento, rimborso entro 14 giorni.
Acquista Vitals a $15