如果希望某个脚本或程序在登出控制台后仍然继续运行,可以使用多种方法。其中,最常见的是使用nohup 命令。nohup 命令会运行一个指定的命令,并阻止该命令接收到 SIGHUP信号,从而防止进程在终端关闭后被退出。
该命令用于在终端会话结束后继续运行指定的命令。默认情况下,nohup会将命令的所有输出重定向到一个名为 nohup.out 的文件中。
假设有一个 test.sh 脚本,每隔 1 秒打印一句“123”。希望脚本在后台运行,并且终端关闭后仍然继续执行,同时保存日志。
‘nohup bash test.sh &’
&:将命令放入后台运行,但当用户退出(挂起)时,命令也会随之退出。
nohup:使命令在终端关闭后继续运行。注意,nohup本身并不具备后台运行功能,需配合 & 使用。nohup使得命令与用户终端脱离关系,例如,即使断开 SSH连接,命令也会继续执行。
此命令将 test.sh脚本放入后台,同时关闭标准输入,并将标准输出和错误重定向到 nohup.out文件中。即使关闭终端或断开 SSH 连接,脚本也会继续运行。