在后台运行 Bash 脚本并退出终端

在后台运行 Bash 脚本并退出终端

是否可以启动命令或 Bash 脚本退出终端而不是中断命令?

我的解决方案是在一天中的特定时间运行 cron,但我确信还有更简单的方法。

答案1

为了避免退出信号传播到终端和 shell 的子进程,请使用 运行命令nohup,即:

nohup cmd &

要忽略所有程序输出并避免使用该nohup.out文件,您可以重定向stdoutstderr/dev/null这样(使用 bash):

nohup cmd &> /dev/null &

答案2

如果您想在退出终端后每秒在后台运行一次特定的命令或文件,您可以尝试这个简单的小方法;

nohup watch -n5 'bash script.sh' &

这将每 5 秒运行一次 scipt.sh。

答案3

使用screen

screen -S <session name> -d -m <your command>

之后你可以退出终端,也可以通过以下方式重新连接它:

screen -r <session name>

更多信息:参考

答案4

在命令后添加一个“&”字符。

例如:

/home/your/script.sh &

相关内容