发布时间:2014-09-05 17:43:32作者:知识屋
Linux/Unix下,通常只有守护进程可在脱离终端的情况下能继续执行,而普通进程在关闭终端时会因收到SIGHUP信号(挂起信号)而退出。当终端退出后,由该终端启动的后台程序自动退出。
若想命令在后台运行,则可用 & 指定命令在后台运行;
若想终端退出后程序不停止运行,则可用nohup命令启动后台程序。
nohup(=no hang up),使命令忽略SIGHUP信号;
[语法] nohup Command [ Arg ... ] [&]
[命令输出说明]
Command 的输出如果没有被重定向,则无论是标准输出(stdout),还是标准错误(stderr),均重定向到nohup.out文件;nohup.out文件缺省写在当前目录下,如果在该目录下无写权限,则试图写到$HOME/nohup.out中,如果仍然失败,整个命令执行失败;
Command的输出如果重定向,则写入指定的重定向文件中;
[退出状态]
126 能查找但不能调用 Command 命令;
127 nohup 命令发生错误或找不到 Command 命令;
否则为 Command 命令的退出状态;
nohup与&的区别:
nohup只是让命令忽略SIGHUP命令而已;
&则让命令在后台运行;
至于该命令是否能在脱离终端后继续执行则要看进程是否是守护进程,如果不是,则需要nohup来帮忙;
PS,引用 http://www.cnblogs.com/allenblogs/archive/2011/05/19/2051136.html
---------以下为引用内容
他是在当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端;而我是每次在nohup执行成功后直接点关闭程序按钮关闭终端.。所以这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown。
这个细节有人和我一样没注意到,所以在这儿记录一下了。
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能