Linux Can';执行命令后无法获取pid

Linux Can';执行命令后无法获取pid,linux,bash,Linux,Bash,我需要按照这个顺序执行节点和火狐。节点进程需要保留在后台,直到我手动关闭firefox 我试过这个命令: node&nodePID=$!&&firefox&&pkill$nodepi 但是,$nodepi似乎返回firefox的pid而不是节点。我该如何解决这个问题 请注意,我不能只是pkill节点,因为我可能会同时运行不同的节点进程 考虑使用kill$nodepd而不是pkill… 另外,您不希望使用“&&”链接命令。例如,如果firefox无法启动,您可能仍然希望清理节点进程。赋值(node

我需要按照这个顺序执行
节点
火狐
。节点进程需要保留在后台,直到我手动关闭firefox

我试过这个命令:

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

但是,
$nodepi
似乎返回firefox的pid而不是节点。我该如何解决这个问题


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

考虑使用
kill$nodepd
而不是
pkill…

另外,您不希望使用“&&”链接命令。例如,如果firefox无法启动,您可能仍然希望清理节点进程。赋值(nodepi=…)永远不会失败

node &
nodePID=$!
firefox
kill $nodePID

无法在GNU bash版本4.4.20(1)-发行版(x86_64-pc-linux-GNU)上复制。这是哪个版本的bash?@oguzismail GNU bash,版本5.0.3(1)-发行版(x86_64-pc-linux-GNU)可以。正常情况下,
node&
将向终端打印一个pid编号,您能否确认何时运行
node&pid=$!&&firefox&&echo$pid
打印到不同的pid?它只打印一次pid,但不是节点pid。但是如果不能够重现这个问题,很难说到底发生了什么