最近写了监控服务的脚本,需要在后台24小时运行。

环境:linux、脚本python、shell脚本

方法一:脚本后加&

加了&以后可以使脚本在后台运行,这样的话你就可以继续工作了。但是有一个问题就是你关闭终端连接后,脚本会停止运行;

如:

<span style="white-space:pre">	</span>[root@192 ~]# python updatetest1.1 &

方法二:使用nohup在后台执行命令


使用&符号在后台执行命令或脚本后,如果你退出登录,这个命令就会被自动终止掉。要避免这种情况,你可以使用nohup命令,如下所示:

	
$ nohup ./my-shell-script.sh &

  方法三:使用screen执行命令


通过nohup和&符号在后台执行命令后,即使你退出登录,这个命令也会一直执行。但是,你无法重新连接到这个会话,要想重新连接到这个会话,你可以使用screen命令。.

Linux的screen命令提供了分离和重新连接一个会话的功能。当你重新连接这个会话的时候,你的终端和你分离的时候一模一样。

  方法四:使用at将一个命令作为批处理执行


使用at命令,你可以让一个命令在指定的日期和时间运行,例如要在明天上午10点在后台执行备份脚本,执行下面的命令:

$ at -f backup.sh 10 am tomorrow

 

在批处理模式下执行某些任务需要启用一些选项。下面的文章会给出详细解释:.

  • How To Capture Unix Top Command Output to a File in Readable Format
    Unix bc Command Line Calculator in Batch Mode
    How To Execute SSH and SCP in Batch Mode (Only when Passwordless login is enabled)

方法五:使用watch连续地执行一个命令

要想按一个固定的间隔不停地执行一个命令,可以使用watch命令,如下所示:

$ watch df -h
另外查看进程确认脚本是否在继续运行的命令
ps -ef|grep 脚本名


GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐