Come eseguire un programma e conoscere il suo PID in Linux?Come eseguire un programma e conoscere il suo PID in Linux?
Se sono in esecuzione più shell, tutte avranno PID separati?
Come eseguire un programma e conoscere il suo PID in Linux?Come eseguire un programma e conoscere il suo PID in Linux?
Se sono in esecuzione più shell, tutte avranno PID separati?
Greg's wiki in soccorso:
$!
è il PID dell'ultimo processo in background.kill -0 $PID
controlla se $PID
è ancora in esecuzione. Utilizzalo solo per i processi avviati dal processo corrente o dai suoi discendenti, altrimenti il PID potrebbe essere stato riciclato.wait
attende che tutti i bambini escano prima di continuare.In realtà, basta leggere il collegamento: è tutto lì (e altro).
$$
is the PID of the current shell.
E sì, ogni shell avrà il proprio PID (a meno che non si tratti di una shell homebrewed che non produce fork
per creare una "nuova" shell).
1) V'è una variabile per questo, spesso $$
:
[email protected]:~$ echo $$ # shell itself
20559
[email protected]:~$ bash -c 'echo $$' # new shell with different PID
19284
[email protected]:~$ bash -c 'echo $$' # dito
19382
[email protected]:~$
2) Sì lo fanno, l'OS/kernel che fa per voi.
il comando superiore in linux (Ubuntu) mostra l'utilizzo della memoria di tutti i programmi in esecuzione in linux con il loro pid. Uccidere il pid può uccidere il processo.
Come utilizzare la variabile '$$'? Contiene PID dell'ultimo programma eseguito o cosa? –
Guarda l'esempio che ho dato. Per la shell, è il suo PID. –
in 'bash'' $!' È il PID dell'ultimo processo in background. – dldnh