bash - 为什么(cd && sleep 5000)启动第二个进程

Pre*_*exo 0 bash sleep pid

我有这个脚本test.sh

#!/bin/bash
( cd . && sleep 5000 )
Run Code Online (Sandbox Code Playgroud)

我执行./test.sh & 然后运行ps lax | grep test.sh

我现在有2个进程正在运行...

0  1000  6883  6600  20   0  10600  1332 -      S    pts/2      0:00 /bin/bash ./test.sh
1  1000  6884  6883  20   0  10604   704 -      S    pts/2      0:00 /bin/bash ./test.sh
Run Code Online (Sandbox Code Playgroud)
  • 为什么我有两个进程在运行?第二个进程来自哪里?
  • 如果cd ".."从命令中删除,为什么我没有两个进程?

谢谢你的任何解释,我只是没有得到它,我想我在这里缺乏一些基础......或者这是一些vodoo?;)

Dav*_*ter 7

在括号内对一系列bash命令进行分组将在子shell中执行它们.