保持进程在Shell退出后能继续运行的方法
2008-03-25 09:20
375 查看
上周写了一个统计日志的脚本,数据库根据日志的统计入库,没太在意ssh退出时 脚本就自己停了 找了一个解决办法:(转贴)
当在shell中运行一些监视工具或磁盘检查等任务时,往往需要很长时间,此时如果用户logout,这些程序都会收到SIGHUP信号从而终止,显然这样是不行的。
程序nohup和bash内建命令disown可以解决此问题。
1.nohup
nohup [command]
运行该指令之后,command在执行时将会忽略SIGHUP信号。
如果command中对标准输出没有重定向,nohup会将标准输出和标准错误输出到nohup.out文件,该文件存在当前目录下或home目录下。
此时用户logout,command仍然会继续运行
2.disown
disown -h jobnumber
jobnumber由jobs获得。
该指令使得后台命令忽略SIGHUP信号。
disown -ar
所有后台命令都忽略SIGHUP信号
当在shell中运行一些监视工具或磁盘检查等任务时,往往需要很长时间,此时如果用户logout,这些程序都会收到SIGHUP信号从而终止,显然这样是不行的。
程序nohup和bash内建命令disown可以解决此问题。
1.nohup
nohup [command]
运行该指令之后,command在执行时将会忽略SIGHUP信号。
如果command中对标准输出没有重定向,nohup会将标准输出和标准错误输出到nohup.out文件,该文件存在当前目录下或home目录下。
此时用户logout,command仍然会继续运行
2.disown
disown -h jobnumber
jobnumber由jobs获得。
该指令使得后台命令忽略SIGHUP信号。
disown -ar
所有后台命令都忽略SIGHUP信号
相关文章推荐
- 保持进程在Shell退出后能继续运行方法
- 保持进程在Shell退出后能继续运行方法
- Unix/Linux下退出帐户/关闭终端之后继续运行相应的进程
- 后台下载利器 —— 让shell退出了子进程可以继续运行
- Unix/Linux下退出帐户/关闭终端之后继续运行相应的进程
- 关闭shell后如何保持程序继续运行
- shell脚本实现多进程运行的方法示例
- linux下使用Shell显示运行脚本进程号的方法
- php与ajax交互——实现php实时返回结果给ajax,并在后台保持继续运行的方法
- SSH Telnet 终端退出后保持程序继续运行 收藏
- Shell脚本之监视主进程的运行状态,异常退出后自动重启
- Unix/Linux下退出帐户/关闭终端之后继续运行相应的进程
- php与ajax交互——实现php实时返回结果给ajax,并在后台保持继续运行的方法
- SSH Telnet 终端退出后保持程序继续运行
- 保持Android Service在手机休眠后继续运行的方法
- ssh断开后保持进程运行的方法(使用nohup,screen)
- SSH Telnet 终端退出后保持程序继续运行
- Linux 技巧:让进程在后台可靠运行的几种方法
- Linux 下让进程在后台可靠运行的几种方法
- Shell脚本中获取进程ID的方法