我需要使用一组不同的参数单独调用一个 bash 脚本,使其作为后台进程运行,所以我使用类似的东西:
if [[ $a == $b ]]
then
$0 -v &> /dev/null
fi
问题是,尽管我使用“&”作为后缀调用与后台进程相同的脚本并将所有输出重定向到/dev/null,但我调用脚本的终端未发布,我假设是因为最初被调用的脚本有一个作为前台进程运行的进程,所以问题是,如何自己调用 bash 脚本,这样当它调用自己时,负责第一次运行脚本的进程时间被杀死,控制台被释放,第二次调用自身作为后台进程运行?
最佳答案
您没有使用 &
将其作为后台进程运行。 &>
是一个完全独立的 token ,可同时重定向 stdout 和 stderr。如果您想将该命令置于后台,则为 $0 -v &>/dev/null &
。
关于linux - 自己调用 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6325651/