我对Bash有问题,我不知道为什么。在shell下,我输入:
echo $$ ## print 2433
(echo $$) ## also print 2433
(./getpid) ## print 2602
“ getpid”是一个用于获取当前pid的C程序,例如:
int main() { printf("%d", (int)getpid()); return 0; }
让我感到困惑的是:
您能帮我吗?
$$
被定义为在子外壳中返回父级的进程ID;从手册页的“特殊参数”下:
您可以使用以下之一。
如果想让C程序打印shell的PID,请尝试$BASHPID
。>>
如果您询问如何获取已知命令的PID,它将类似于以下内容:
这是获取正确pid的一种普遍方法