相关疑难解决方法(0)

得到pid in shell(bash)

我有Bash的问题,我不知道为什么.
在shell下,我输入:

echo $$    ## print 2433
(echo $$)  ## also print 2433
(./getpid) ## print 2602
Run Code Online (Sandbox Code Playgroud)

"getpid"是一个获取当前pid的C程序,如:

   int main() {
    printf("%d", (int)getpid());
    return 0;
   }
Run Code Online (Sandbox Code Playgroud)

令我困惑的是:

  1. 我认为"(命令)"是一个子流程(我是对的吗?),我认为它的pid应该与它的父pid不同,但它们是相同的,为什么......
  2. 当我使用我的程序在括号之间显示pid时,它显示的pid是不同的,是不是?
  3. '$$'就像宏?

你能帮助我吗?

linux bash shell pid

143
推荐指数
4
解决办法
27万
查看次数

标签 统计

bash ×1

linux ×1

pid ×1

shell ×1