答案1
shell 可以使用最近启动的后台作业的进程 ID 作为$!
。
例如,您可以将其输出到文件或标准输出:
"$@" &>/dev/null &
disown
printf '%d\n' "$!" >background.pid
然后另一个脚本可能会
./first-script.sh some command line
thepid=$( <background.pid )
或者,如果第一个脚本仅将进程 ID 输出到标准输出,则第二个脚本可以
thepid=$( ./first-script.sh some command line )