2012-03-27 10 views

risposta

17

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).

3

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.

+0

Come utilizzare la variabile '$$'? Contiene PID dell'ultimo programma eseguito o cosa? –

+0

Guarda l'esempio che ho dato. Per la shell, è il suo PID. –

+2

in 'bash'' $!' È il PID dell'ultimo processo in background. – dldnh

0

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.

Problemi correlati