如何在Linux中运行程序并了解其PID?

时间:2012-03-27 13:02:05

标签: linux shell pid

如何在Linux中运行程序并知道它的PID?

如果我有几个shell相互运行,它们都会有单独的PID吗?

3 个答案:

答案 0 :(得分:17)

Greg's wiki救援:

  • $!是最后一个后台进程的PID。
  • kill -0 $PID检查$PID是否仍在运行。仅将此用于当前进程或其后代启动的进程,否则PID可能已被回收。
  • wait在继续之前等待所有孩子退出。

实际上,只需阅读链接 - 它就在那里(以及更多)。

$$ is the PID of the current shell

是的,每个shell都有自己的PID(除非它是一些自制的shell而不是fork来创建一个“新的”shell)。

答案 1 :(得分:3)

1)有一个变量,通常是$$

edd@max:~$ echo $$                  # shell itself
20559
edd@max:~$ bash -c 'echo $$'        # new shell with different PID
19284
edd@max:~$ bash -c 'echo $$'        # dito
19382
edd@max:~$ 

2)是的,操作系统/内核会为你做这件事。

答案 2 :(得分:0)

linux中的top命令(Ubuntu)用他们的pid显示linux中所有正在运行的程序的内存使用情况。杀死pid会杀死这个过程。