LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1361|回复: 6

如何让后台运行的程序关掉终端后不退出

[复制链接]
发表于 2004-7-23 17:50:07 | 显示全部楼层 |阅读模式
在一个终端中用&启动一个后台程序后,当叉掉终端后程序也会停止,
如何让程序关掉终端后程序仍然不退出
发表于 2004-7-23 18:03:01 | 显示全部楼层
nohup ?
发表于 2004-7-23 18:10:21 | 显示全部楼层
正如kornlee兄所言,那是因为SIGHUP信号。

当父进程死后,系统向其子进程发出SIGHUP信号的情况
http://www.linuxforum.net/books/upfaq/x276.htm

解救方法是使它忽略SIGHUP进程,这样万一父进程死了,就会成为孤儿进程而被init进程收留。

举一个小例子

  1. #!/bin/sh
  2. trap "" HUP
  3. exec setsid sleep 100
复制代码
 楼主| 发表于 2004-7-23 18:32:40 | 显示全部楼层
呵呵,这么复杂啊
等我好好研究
 楼主| 发表于 2004-7-23 18:37:07 | 显示全部楼层
最初由 KornLee 发表
nohup ?


什么意思啊
发表于 2004-7-23 18:41:34 | 显示全部楼层
最初由 xiaocong213 发表
什么意思啊

执行下面的命令后
nohup command &
注消掉你的终端,这个command依然会在执行,试试看 ;)
 楼主| 发表于 2004-7-24 01:47:39 | 显示全部楼层
最初由 KornLee 发表
执行下面的命令后
nohup command &
注消掉你的终端,这个command依然会在执行,试试看 ;)


哈哈
居然可以的
:p :p
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表