是否有关于$$
bash 后台进程中值的文档?
man
声称$$
在子shell中是主进程的PID。
根据以下文档,子shell 是通过大括号创建的(...)
,但是,它似乎cmd &
不是正式的子shell。
https://tldp.org/LDP/abs/html/subshells.html
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap03.html
是否有关于$$
bash 后台进程中值的文档?
man
声称$$
在子shell中是主进程的PID。
根据以下文档,子shell 是通过大括号创建的(...)
,但是,它似乎cmd &
不是正式的子shell。
https://tldp.org/LDP/abs/html/subshells.html
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap03.html
从标准:
cmd &
是一个异步列表。并且假设(为了论证)这不是
cmd &
子shell,那么剩下的唯一东西就是主shell环境,在那里会给主进程的PID相同的;-)$$
注意:在 bash 中,来自管道的所有命令也都在子 shell 中运行。在其他一些 shell(如 ksh)中,管道中的最后一个命令在主 shell 环境中运行。这将打印
1
inbash
和3
inksh
:$$
文档中有一些参考资料man bash
:特殊参数
外壳变量
命令执行环境
根据经验,您可以看到
$$
在句法子外壳中保持不变,但是会$BASHPID
发生变化: