如果丢失了Internet连接,在服务器上运行的命令会发生什么?

时间:2016-03-24 15:34:19

标签: linux bash shell unix terminal

抱歉这个菜鸟问题。我正在我的网络服务器上运行一个shell脚本来下载900个左右的文件。但是我通过笔记本电脑上的终端shell进行此操作,我将失去当前的Internet连接。

服务器上的脚本是否继续运行直到完成?或者它是否停止,因为它不再向断开连接的笔记本电脑上的终端提供反馈。

2 个答案:

答案 0 :(得分:1)

默认情况下,Web服务器上的交互式shell会在脚本终止后立即发送HUP信号。你可以通过这样调用你的脚本来防止这种情况:

<scriptname> & disown

这样它将在后台运行(&)并从shell的作业列表(disown)中删除,因此shell不会向它发送HUP信号。 / p>

请注意,disown可能没有必要in some cases

答案 1 :(得分:0)

它将在父进程(终端)死亡时死亡。但是,使用screennohup等实用程序,即使终端终止,也可以继续进程,甚至可以在进程完成后对进程进行后台处理并将其取消, see this Q for more there.

Further reading you may want to peruse, there's a ton out there on this subject.