保持进程
2016-05-17 23:06
225 查看
原文:Keep Long Running UNIX Commands Alive
需求:你有一个程序要运行很长时间,你希望即使自己退出SSH连接,它也不会被杀死,而是运行到它自己结束。
我知道三种方法来保持进程:
为了保持进程
默认情况下
这时,即使你退出终端,进程也不会被结束。你可以重新登入并
为了保持你已启动的进程,首先你需要暂停它,然后让它在后台运行起来,最后
现在可以放心地退出终端了。
需求:你有一个程序要运行很长时间,你希望即使自己退出SSH连接,它也不会被杀死,而是运行到它自己结束。
我知道三种方法来保持进程:
nohup,
disown和
tmux。
最简单的方法: nohup
当你退出终端时,终端会向它的所有子进程发送挂起信号,这会结束掉它们。 而nohup能通知进程忽略挂起信号。
为了保持进程
$ nohup <the command> &
默认情况下
nohup会将标准输出和标准错误重定向到当前目录下的nohup.out文件。
这时,即使你退出终端,进程也不会被结束。你可以重新登入并
tailnohup.out文件,你会发现它仍在运行。
不好,我忘了用nohup启动:disown
如果你忘了用nohup启动,不必担心,
disown会是你的朋友。唯一的缺点是你将不能重定向标准输出。
为了保持你已启动的进程,首先你需要暂停它,然后让它在后台运行起来,最后
disown即可:
# press Ctrl+Z to suspend the program $ bg $ disown
现在可以放心地退出终端了。
复杂方法:tmux
略相关文章推荐
- iOS收到推送后,跳转到某一页面
- 新手学习java一分钟了解Java核心技术
- Direct3D中 SetStreamSource 函数与数据流
- Markdown的使用简介
- LINUX SHELL控制结构while
- 软件项目开发流程图
- poj1273完全不懂为何过的dinic最大流模板
- android笔记(3)
- Android 侧滑面板的实现(DragLayout)
- GLSL学习资料整理
- 《jQuery从入门到精通》第一节 为什么要学习jQuery
- Codeforces Round #353 (Div. 2) D. Tree Construction __ Binary Search Tree
- 第1章 Web开发新时代
- Direct3D中 SetTextureStageState 函数
- carson常用linux命令整理
- platform驱动结构体
- 使用eclipse和JavaFX Scene Builder进行快速构建JavaFX应用程序
- linux套接字编程练习之网络选课模拟
- 磁盘目录占用空间计算排序工具 - ncdu
- C语言的指针、链表的原理和各类操作