2012-03-27 52 views

回答

17

Greg's wiki救援:

  • $!是最後轉到後臺進程的PID。
  • kill -0 $PID檢查$PID是否仍在運行。只能將其用於由當前進程或其後代啓動的進程,否則PID可能已被回收。
  • wait等待所有的孩子在繼續之前退出。

其實,只要閱讀鏈接 - 這是所有(和更多)。

$$ is the PID of the current shell

是的,每個外殼都會有自己的PID(除非它是一些自制的外殼,不會創建一個「新」外殼程序fork)。

3

1)是一個變量,往往$$

[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)是的,他們做的OS /內核會替你。

+0

如何使用$$變量?它是否包含上次運行的程序的PID或什麼? – 2012-03-27 13:06:34

+0

看看我給出的例子。對於shell而言,它是它自己的PID。 ''bash''中的 – 2012-03-27 13:08:08

+2

$''是最後一個後臺進程的PID。 – dldnh 2012-03-27 13:09:14

0

linux(Ubuntu)中的頂級命令顯示了linux中所有正在運行的程序的內存使用情況以及它們的pid。殺死pid可以殺死進程。