方法一:
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:针对后台执行的方法,网上有非常多的参考文档,但还是结合自身使用整理了以上两种,希望对大家有所帮助,也希望有更好方法的大神积极回应。^_^
原文:http://blog.51cto.com/yuan00/2313808