2015-07-10 138 views
0
[[email protected] ~]$ shopt | grep hupon 
huponexit  off 

[[email protected] ~] sqldeveloper & -- program is being ran 

由于上述情况,已经说明退出时不会发送hup信号。但是当我关闭shell时,程序仍然关闭。huponexit off and&输入 - 但程序仍然关闭

为什么?

+0

是'sqldeveloper'仍然附着在TTY和关闭时,它消失了?使用'nohup sqldeveloper&'工作吗? –

+0

@EtanReisner使用nohup会起作用。但是我不明白的是我的胡内特已经关闭了。那么为什么和不工作。 – Noob

+0

如果在运行'sqldeveloper'时使用手动重定向来关闭stdin,stdout和stderr,当您退出终端时它仍然会关闭?你可以这样运行,然后运行'ls -l/proc//fd'的pid并向我们显示输出结果吗? –

回答

0

这可能是因为sqldeveloper连接到终端。 nohup作品因为它会自动脱离的命令 - 看到从nohup(1)此摘录:

如果标准输入是终端,从/ dev/null的重定向它。如果标准输出是一个终端,如果可能的话,将输出追加到'nohup.out',否则返回'$ HOME/nohup.out'。如果标准错误是终端,则将其重定向到标准输出。要将输出保存到FILE,请使用'nohup COMMAND> FILE'。

,如果你手工做它应该不nohup工作 - 尝试,例如:

sqldeveloper < /dev/null &> /dev/null & 
+0

与你的命令相同,当我关闭终端时,sqldeveloper也会关闭以及 – Noob

+0

看起来停止的工作无论'huponexit'选项都会被终止。在后台运行程序后,检查'jobs'命令的输出。如果这个过程停止了,请写下来 - 必须有一个原因。 – werkritter

+0

[oracle @ centos1〜] $ shopt | grep的HUP huponexit \t关闭 甲骨文@ centos1〜] $工作 [1] +运行的SQLDeveloper& 甲骨文@ centos1〜] $ – Noob

相关问题