我已经触发了一个Unix脚本,它基本上是从DB中提取详细信息并为许多id创建一个xml(大约1000个项目)。生成所有XML后,它会将其发布到队列中。现在我有疑问。我的脚本在脚本中运行。我只是使用PUTTY监控它。如果我关闭系统,我的脚本会继续执行吗?
答案 0 :(得分:0)
正如Barmar的评论建议的那样,您应首先在shell中输入screen
来开始screen
会话。
接下来,您应该开始编写脚本。
最后,您应该使用Control-a, d
断开屏幕会话并注销。
每当您再次登录时,如果您想查看进度,可以screen -a
重新挂接屏幕。
答案 1 :(得分:0)
如果您在前台执行了脚本(或使用&
将其分叉到后台),则会在会话结束后终止。
为避免这种情况,您可以选择以下几种方法:
nohup
与&
一起使用,强制程序忽略SIGHUP
信号。cron
,at
或init系统等调度程序安排进程在/运行一段时间。screen
或tmux
等虚拟终端多路复用器在可恢复终端的“后台”中运行程序。使用调度程序可能是三者中最通用的,但如果您希望实时查看脚本的输出,则多路复用器可能很有用。