Deb*_*ger 127 bash scripting pid
我在Bash中调用了一个脚本Script.sh,它需要知道自己的PID(即我需要在Script.sh中获取PID)
知道怎么做吗?
tva*_*son 53
用$BASHPID或$$
有关详细信息,请参阅手册,包括两者之间的差异.
TL; DRTFM
$$ 扩展到shell的进程ID.
()子shell中,它扩展为调用shell的进程ID,而不是子shell.$BASHPID 扩展到当前Bash进程的进程ID.
()子shell中,它扩展为子shell的进程IDPau*_*ce. 32
除了Jefromi引用的Advanced Bash Scripting Guide中给出的示例之外,这些示例还显示了管道如何创建子壳:
$ echo $$ $BASHPID | cat -
11656 31528
$ echo $$ $BASHPID
11656 11656
$ echo $$ | while read line; do echo $line $$ $BASHPID; done
11656 11656 31497
$ while read line; do echo $line $$ $BASHPID; done <<< $$
11656 11656 11656
Run Code Online (Sandbox Code Playgroud)
PID存储在$$.
示例:kill -9 $$将终止从中调用的shell实例.
| 归档时间: |
|
| 查看次数: |
120256 次 |
| 最近记录: |