抱歉这个菜鸟问题。我正在我的网络服务器上运行一个shell脚本来下载900个左右的文件。但是我通过笔记本电脑上的终端shell进行此操作,我将失去当前的Internet连接。
服务器上的脚本是否继续运行直到完成?或者它是否停止,因为它不再向断开连接的笔记本电脑上的终端提供反馈。
答案 0 :(得分:1)
默认情况下,Web服务器上的交互式shell会在脚本终止后立即发送HUP
信号。你可以通过这样调用你的脚本来防止这种情况:
<scriptname> & disown
这样它将在后台运行(&
)并从shell的作业列表(disown
)中删除,因此shell不会向它发送HUP
信号。 / p>
请注意,disown
可能没有必要in some cases。
答案 1 :(得分:0)
它将在父进程(终端)死亡时死亡。但是,使用screen
或nohup
等实用程序,即使终端终止,也可以继续进程,甚至可以在进程完成后对进程进行后台处理并将其取消, see this Q for more there.
Further reading you may want to peruse, there's a ton out there on this subject.