我正在尝试生成一个后台进程,并将其输出重定向到VSC的shell。此后台进程应独立于父shell,因为VSC将等待直到生成它的shell(父shell)发送退出代码。
#!/bin/bash
echo "Starting webpack-dev-server"
cd .. && cd client && yarn debug
./startWebpack.sh &
遵循本指南,我应该能够通过&
在脚本后附加一个来产生后台进程。似乎没有使脚本独立于父脚本。
父外壳似乎接管了后台进程的输出,并且从不发送退出信号。然后杀死父外壳程序也将杀死后台进程。
将输出发送到/dev/null
with./startWebpack.sh > /dev/null
没有任何区别。我实际上仍然可以看到该命令的输出。
VSC在内部使用bash -c ./startWebpack.sh &
source运行命令。不知道这是否会影响任何事情。
使用nohup
例如nohup ./startWebpack.sh &> /dev/null &
这就是Bash语法,对于其他shell,您可以 nohup ./startWebpack.sh >/dev/null 2>&1 &
您也可以手动进行操作,例如
$ ./startWebpack.sh &
$ disown
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句