执行命令后无法获取pid

时间:2019-12-09 18:22:33

标签: linux bash

我需要依次执行nodefirefox。在我手动关闭firefox之前,节点进程需要保留在后台。

我已经尝试过以下命令:

node & nodePID=$! && firefox && pkill $nodePID

但是$nodePID似乎返回Firefox的pid而不是node。我该如何解决?

请注意,我不能只是pkill node,因为我可能同时运行不同的节点进程。

1 个答案:

答案 0 :(得分:1)

考虑使用kill $nodePID代替pkill ...

此外,您也不想将命令与'&&'链接在一起。例如,如果firefox无法启动,您可能仍希望清理节点进程。分配(nodePID = ...)将永远不会失败。

node &
nodePID=$!
firefox
kill $nodePID