我们在服务跑数据的时候经常会遇到这种情况:预计任务5分钟完成,因此没有用后台执行,然而因资源问题,50分钟还没执行完,等着吧,还不知道要等多久,kill掉吧,已经跑了这么久了,kill了有些可惜,如何解决这个问题呢?
先普及一下基础:
linux下我们如果想一个任务或者程序还后台执行可以使用 &,实际上linux还提供了其他任务调度的命令。
bg
将一个在后台暂停的命令,变成继续执行
fg
将后台中的命令调至前台继续运行
jobs
查看当前有多少在后台运行的命令
ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
nohup 命令
用途:不挂断地运行命令。
nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示”and”的符号)到命令的尾部
基础普及完,来说解决方案:
1.crtl + z 先任务挂起,
2. 输入bg命令,让任务后台运行
3.用jobs查看目前有多少个后台任务
4.如果不想让任务后台运行,输入fg命名
阅读(5123) | 评论(0) | 转发(0) |