我希望你在 Linux 中执行一个命令并获取已启动进程的进程 ID 并将其传递给另一个命令。
我在 bash 中尝试了 $!
变量,如果进程像这样直接启动它就可以工作:
ls &
echo $!
但是如果我这样使用exec:
exec ls &
echo $!
$!
变量将为空。
我必须使用 exec。有什么线索可以解决这个问题吗?
谢谢。
最佳答案
the $! variable would be blank.
你试过这个吗?
> exec ls & echo "pid = $!"
[1] 29443
pid = 29443
显然它并不像您推测的那样空白。该过程不必完成; pid 立即可用。
关于linux - 使用 exec 执行命令并将进程 ID 传递给另一个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24741163/