本身调用bash脚本

问题描述

| 我需要使用一组不同的参数来单独调用bash脚本,以使其作为后台进程运行,因此我正在使用类似以下内容的命令:
if [[ $a == $b  ]]
then
  $0 -v &> /dev/null
fi
问题是,尽管我使用后缀\'&\'作为后缀调用后台进程相同的脚本并将所有输出重定向到/ dev / null,但我调用脚本的终端未释放,我认为这是因为最初被调用的脚本中的一个具有作为前台进程运行的进程,因此查询的方式是如何自行调用bash脚本,以便在其自身调用时负责第一次运行该脚本的进程被杀死并释放控制台,对其本身的第二次调用作为后台进程运行?     

解决方法

        您没有使用
&
将其作为后台进程运行。 “ 2”是一个完全独立的令牌,可同时重定向stdout和stderr。如果要将该命令放在后台,则为
$0 -v &>/dev/null &
。     ,        尝试这样的事情:
nohup $0 -v &
nohup命令执行分离后台作业和忽略信号的工作,请参见手册页。