linux中脚本后台执行的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中脚本后台执行的方法相关的知识,希望对你有一定的参考价值。

虽有多年运维经验,但一直专注于业务运维,故很少执行大数据脚本。近日,有需持续执行脚本的工单,故将网上搜索+亲身使用且比较实用的方法整理如下。

方法一:
1、执行脚本。sh ceshi.sh >> ceshi.log
2、按下ctrl + z 。此时任务被调度到后台,且是暂停执行状态。使用jobs命令查看,该任务状态为stopping。
3、bg n。n为使用jobs命令结果中,中括号里面数字[n],而非ps的进程ID。
4、此时任务已经在后台被启动。输出结果定向到当前目录下的ceshi.log中。使用jobs命令查看,该任务状态为running。

方法二:使用nohup命令
1、执行脚本。nohup sh ceshi.sh &
技术分享图片
2、此时脚本已在后台执行。且输出结果为自动保存到当前目录下的nohup.out文件中。
3、使用jobs命令查看,该任务状态为running状态。
技术分享图片

注:
1、以上两种方法,若重新打开终端,或另开新终端,使用jobs命令均看不到执行任务。需要使用ps -ef | grep ceshi.sh来查看。
2、针对以上两种方法,建议使用第二种,因为第一种有可能会中断(已经切身体会,执行到半夜任务中断了,o(╥﹏╥)o,影响工作效率)。而nohup为不中断执行。

PS:针对后台执行的方法,网上有非常多的参考文档,但还是结合自身使用整理了以上两种,希望对大家有所帮助,也希望有更好方法的大神积极回应。^_^

以上是关于linux中脚本后台执行的方法的主要内容,如果未能解决你的问题,请参考以下文章

在linux后台运行脚本的方法和命令

Linux和Windows启动后台程序

在linux后台执行脚本

Linux后台执行

linux-ssh远程后台执行脚本-放置后台执行问题(转)

后台执行脚本