我有一个奇怪的问题。 我有一个服务器进程nohup开始,并坚持登出和重新login就好了。 但是,如果我让自己login,然后得到“断开的pipe道”的消息,因为我的笔记本电脑进入睡眠,我回来发现,大概在我的笔记本电脑进入睡眠时,进程停止了(很难确切地certificate是什么时候) 。 即使我在注册过程中注销并重新login,也会发生这种情况。
为什么会这样呢? 我以为没有意思就会忽略SIGHUP? 是否有其他信号被发送? 我意识到屏幕,但有没有办法避免这种情况下,而不是在屏幕上运行的东西(这是我们刚刚搬走了以前的解决scheme)?
启动过程的脚本中的命令如下所示…
nohup attivio -cmd start -nodump -project="$ATTIVIO_PROJECT" -node $NODENAME $ATTIVIO_ARGS foo.xml 2>&1 > $LOG_DIR/attivio.console.log &
脚本是这样调用的:
source bin/start.sh
当terminal断开连接时,HUP信号不是唯一可以停止或终止进程的东西。 将不会有控制tty,所以有些程序可能会因为这个原因而失败。 尝试输出可能会导致错误。 如果程序有一个主动读取,它也可能会出错。
这些是我使用屏幕的原因。 我没有理由避免屏幕。