是否可以启动命令或 Bash 脚本退出终端而不是中断命令?
我的解决方案是在一天中的特定时间运行 cron,但我确信还有更简单的方法。
答案1
为了避免退出信号传播到终端和 shell 的子进程,请使用 运行命令nohup
,即:
nohup cmd &
要忽略所有程序输出并避免使用该nohup.out
文件,您可以重定向stdout
并stderr
像/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 &