文章目录
- 方案1 nohup &
- 方案2 screen
方案1 nohup &
1、单独使用 nohup 执行脚本,如下图所示,终端会被接管,就是标准输入stdin 被关闭了,使用ctrl+c会导致终止执行,但是可以关闭这个终端,重新打开终端,仍然在后台执行。
关于执行的标准输出 stdout 和标准错误输出 stderr,都会写入文件 nohup.out
2、单独使用 & 执行脚本,
也可以实现一个后台执行,并且脚本的标准输出直接就会在当前终端显示,可以看到下图,ping的结果和我输入的命令 ls
结果混杂在一起,影响观感,当然如果脚本不存在标准输出,使用这种方法实现后台进程很方便,缺点就是生命周期取决于当前终端
3、将nohup 和 & 结合起来执行脚本
我最终的目的是要在服务器实现一个后台不中断的脚本执行,毕竟ssh连接是有时限的,服务器却是 24小时不停工作。
nohup ./demo.sh &
如果不需要输出 nohup.out 日志文件,可以使用重定向
方案2 screen
# `yum install screen` or `apt install screen`