使用nohup运行命令和disown,与screen中dtache有什么区别?

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
头像
ws_105
帖子: 313
注册时间: 2008-10-24 8:02

使用nohup运行命令和disown,与screen中dtache有什么区别?

#1

帖子 ws_105 » 2008-12-02 11:35

如题
Ubuntu 8.04 @ Intel Pentium D 925 + Intel 945G Chipset + DDR2 1.0G + SATA 160G
http://hi.baidu.com/ws_105
头像
ws_105
帖子: 313
注册时间: 2008-10-24 8:02

Re: 使用nohup运行命令和disown,与screen中dtache有什么区别?

#2

帖子 ws_105 » 2008-12-02 18:05

那位高人介绍以下,既然screen中启动的进程可以dtache,而使用 nohup 运行也可以是进程在父进程结束或者 shell 退出后继续运行,disown 也可以达到这个目的。那么他们之间有那些不同呢?
Ubuntu 8.04 @ Intel Pentium D 925 + Intel 945G Chipset + DDR2 1.0G + SATA 160G
http://hi.baidu.com/ws_105
头像
xhy
帖子: 3916
注册时间: 2005-12-28 1:16
系统: Ubuntu 12.10 X64
来自: 火星

Re: 使用nohup运行命令和disown,与screen中dtache有什么区别?

#3

帖子 xhy » 2008-12-02 20:09

一个进程可能因为很多原因退出,跟这个相关的有

1 SIGHUP信号,收到SIGHUP信号的默认处理方式就是终止进程。

2 后台进程从tty读,触发SIGTTIN。

3 后台进程向tty写,触发SIGTTOU。


NOHUP主要做了2件事情
1 设置进程信号处理回调函数,忽略掉SIGHUP
2 如果子进程的stdin/stdout/stderr是标准tty,关闭这些文件描述符,重定向到/dev/null


其它类似功能的程序,原理都是一样的
目前负债150多万
回复