前言
- 最近需要使用python脚本对原始数据进行处理,然后存入数据库,由于数据数量较大,约200w条,执行时间比较长,于是想到放在自己的树梅派上运行,但是众所周知,关闭ssh连接终端后,对应的任务也将被杀死,如何能够让脚本在后台不间断的执行呢?
Linux nohup 命令
介绍
- nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
使用格式
nohup Command &
# Command:要执行的命令。
# &:让命令在后台执行,终端退出后命令仍旧执行。
实例
- 我们
ls
一下,可以看到在当前目录下生成了nohup.out
,文件
nohup.out
,存储程序运行信息,包括程序的输出,报错信息等
查看/结束 nohup 进程
- 使用
ps -def | grep "Command"
命令来查找后台进程
- 如上,得到进程号后使用
kill -9 进程号PID
杀死进程
更多
- 还可以通过添加开启自启动进程的方式,实现开机后后台自动运行
- 若后台进程执行时间较长,执行完成后可以通过发送邮件的方式(比如用python SMTP),告知用户任务已执行完成