我有一个关于在bash脚本中向后台添加进程的问题。我有一个小脚本来测试openvpn的速度,就像服务器是客户端一样。但是,openvpn喜欢在前台运行,以防止运行任何类型的额外命令。
通常,仅通过cmd行执行此操作,然后运行:
$ (openvpn --config myconfig.opvn) &
但是在vi中,我尝试执行此操作,但它不像cmd行上那样工作。
connect () {
(openvpn --config myconfig.opvn) &;
sleep 30;
$speed --server 2426 | grep 'Download\|Upload' > $log;
killall openvpn;
}
有没有办法在vi中做到这一点,以便它像我想要的那样工作?
谢谢。
最佳答案
您可以将openvpn放在其他文件中。假设xyz.sh并从connect函数调用xyz.sh,如下所示:
档案:xyz.sh
(openvpn --config myconfig.opvn)
connect () {
. ./xyz.sh &
sleep 30;
$speed --server 2426 | grep 'Download\|Upload' > $log;
killall openvpn;
}
。 ./xyz.sh将打开一个新控制台,并将为您运行openvpn命令。希望这可以帮助。
关于linux - bash脚本/vi中的后台进程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23523961/