Come trovo il processo genitore in Linux

Come trovo il processo genitore in Linux
Durante l'esecuzione di un programma, il kernel crea un processo che aiuta a memorizzare i dettagli di esecuzione del programma nella memoria del sistema. Quando un programma esegue, diventa un processi per il sistema. Quindi, possiamo dire che un processo è un programma fino a quando non esegui.

Il processo creato dal kernel è noto come "Processo genitore,"E tutti i processi derivati ​​dal processo genitore sono definiti"Processi per bambini."Un singolo processo può consistere in diversi processi di figlio con un unico Pid Ma con lo stesso PPID.

Potrebbe verificarsi una domanda nella mente del principiante che qual è la differenza tra PID e PPID?

Abbiamo già discusso Pid Nella maggior parte dei nostri articoli se sei il nuovo, non preoccuparti!

Nei sistemi Linux, diversi processi vengono eseguiti alla volta. A volte, un processo può avere un singolo thread (unità di esecuzione all'interno di un processo) o più thread. I processi hanno stati diversi; Potrebbero essere in attesa, pronti o in stato di esecuzione. Si tratta di come l'utente o il kernel li dà la priorità. Quindi, questi processi sono identificati dai numeri univoci che chiamiamo ID processo (PID). I numeri univoci per i processi principali sono chiamati PPID e ogni processo genitore può avere più processi figlio con i loro ID di processo univoci. I PID dei processi figlio sono diversi in quanto rappresentano unità di esecuzione separate ma hanno lo stesso ID processo principale (PPID).

Abbiamo bisogno PPID Quando il processo del bambino crea alcuni problemi e non funziona correttamente. In questo caso, può influire sul funzionamento di altri processi e anche il sistema potrebbe essere influenzato. Qui, per fermare il processo che funziona continuamente, è necessario uccidere il suo processo genitore.

Controlliamo come possiamo trovare PPID:

Come trovare l'ID del processo genitore (PPID) in Linux:

Abbiamo un paio di approcci per trovare il PPID di un processo di esecuzione nei sistemi Linux:

  1. Usando il "pstree "Comando
  2. Usando il "ps"Comando

Come trovare PPID usando il comando pstree in Linux:

IL "pstree"Il comando è un buon approccio per identificare l'ID del processo genitore (PPID) in quanto mostra la relazione genitore-figlio in una gerarchia ad albero.

Digita semplicemente "pstreeComando "con il"-P"Opzione nel terminale per verificare come visualizza tutti i processi genili in esecuzione insieme ai processi figlio e ai rispettivi PIDS.

$ pstree -p

Mostra l'ID genitore insieme agli ID processi figlio.

Controlliamo un esempio di "Mozilla Firefox" per ottenere il suo PPID insieme alla gerarchia completa del processo. Eseguire il seguente comando nel terminale:

$ pstree -p | grep "Firefox"

(grep è uno strumento di riga di comando che aiuta a cercare una particolare stringa)

Nei risultati citati, possiamo vederlo 3528 è il PPID del processo "Firefox,"E tutti gli altri sono processi per bambini.

Per stampare solo l'ID processo principale nel terminale, eseguire il comando menzionato:

$ pstree -p | grep "Firefox" | Testa -1

Come trovare PPID usando il comando PS:

IL "ps"L'utilità di comando è un altro modo per elaborare le informazioni dal"/Proc"Filesystem e monitorali.

Attraverso questo comando, l'utente può anche trovare il PPID E PIDS di un processo di esecuzione.

Esegui quanto segue "ps"Comando insieme al"ef"Opzione per mostrare informazioni dettagliate sui processi tra cui PPID:

$ ps -ef

Se vuoi visualizzare il PPID di un processo specifico con i dettagli, eseguire il menzionato "psComando "con il"grep":

$ ps -ef | grep "Firefox"

(IL "-F"L'opzione viene utilizzata per elencare i dettagli del processo)

E per ottenere solo il PPID Di "Firefox,"Usa la seguente sintassi:

$ PS -E | grep [processo_name]

Quindi, trova il PPID Di "Firefox"Usando il comando:

$ PS -E | grep "Firefox"

Conclusione:

Ad ogni esecuzione di un programma, il kernel crea un processo che carica i dettagli di esecuzione in memoria. Questo processo creato è noto come il processo genitore Avere thread singoli o più. Ogni processo ha assegnato il unico PPID E PIDS automaticamente dal kernel.

Mentre si lavora con il sistema Linux, si dovrebbe sapere sul Ppids dei processi in esecuzione. Un problema con il processo figlio può influire sugli altri processi. In tali casi, potremmo aver bisogno di uccidere il processo genitore.

IL Ppids di processi in esecuzione possono essere identificati utilizzando più modi. Gli approcci più semplici sono attraverso "psComando "e"pstree"Comando.

Abbiamo visto sopra come possiamo scoprire il PPID di un processo specifico usando questi due strumenti di comando.