Windows 10,杀死子进程,无法获得正确的PID

时间:2016-08-22 20:26:11

标签: node.js bash shell cmd terminal

如果它很重要,我会使用win10(bash(git)

我有SH脚本:

start node ./e2e-tests/apimocker_runner.js & pid1=$!
start npm run protractor -- --binaryPath=./build/appInstaller/win-unpacked/ & pid2=$!

sleep 10
kill $pid1
kill $pid2

当我尝试通过pid杀死进程时我有错误:

bash: kill: (6616) - No such process

正如我在$!中所知道的那样,我们有最后一个子进程pid,但这不起作用。

然后我输入bash:

start bash & pid=$!
echo $pid
  

$ pid === 1000(例如)

但如果我输入

echo $$

在上一个命令创建的bash中我有另一个pid

  

$$ ==== 1200(例如)

我也发现如果我输入start bash这会创建非子进程,但我想创建子进程并等待它们wait $pid

我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

在一个bash实例中设置的变量在另一个不是其子进程的bash实例中是不可见的(只有在父进程export variable将其公开给子进程时才会显示)