如果我正在使用远程服务器(ssh),我使用bash&运营商,如果由于服务器超时而从服务器启动,该进程是否会被终止?我很确定答案是肯定的,但很想知道是否有任何多汁的细节。
答案 0 :(得分:2)
bash会向所有后台作业发送HUP信号。您可以通过使用nohup
(应该有一个手册页)启动作业来阻止这种情况发生。如果nohup
为时已晚,您可以使用disown
来阻止shell向作业发送HUP。 disown
是内置的,因此help disown
会告诉您需要知道的所有内容。
答案 1 :(得分:2)
这可能取决于,但通常当您使用“连接程序”注销时(例如,在您的情况下为ssh,虽然它可能也是rlogin或telnet),shell和子(我认为?)将收到一个SIGHUP信号(挂断),这将使他们在你注销时终止。有两种常见的方法可以避免这种情况,运行您希望通过nohup
或screen
继续运行的程序。如果服务器对正在运行的进程有其他时间限制,则必须查看它。