如果它很重要,我会使用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
我怎么能这样做?
答案 0 :(得分:0)
在一个bash
实例中设置的变量在另一个不是其子进程的bash
实例中是不可见的(只有在父进程export variable
将其公开给子进程时才会显示)