使用echo $$打印管道中命令的进程ID

时间:2019-07-03 06:41:46

标签: linux bash shell unix

我读到管道中的每个命令都在单独的子shell中运行。我想验证一下。因此,我运行了以下命令,并期望每个子shell进程使用不同的pid,但对所有子进程都使用相同的pid。任何人都可以解释这种行为。谢谢!

$ # Printing pid of current shell
$ echo $$
16719
$ # Creating a pipeline and expecting a different pid for each
$ echo $$ | { read pid1; echo "Pipeline Command-1 pid: $pid1, Command-2 pid: $$"; }
Pipeline Command-1 pid: 16719, Command-2 pid: 16719

0 个答案:

没有答案