从putty触发的unix脚本

时间:2014-09-12 22:12:07

标签: bash shell unix

我已经触发了一个Unix脚本,它基本上是从DB中提取详细信息并为许多id创建一个xml(大约1000个项目)。生成所有XML后,它会将其发布到队列中。现在我有疑问。我的脚本在脚本中运行。我只是使用PUTTY监控它。如果我关闭系统,我的脚本会继续执行吗?

2 个答案:

答案 0 :(得分:0)

正如Barmar的评论建议的那样,您应首先在shell中输入screen来开始screen会话。

接下来,您应该开始编写脚本。

最后,您应该使用Control-a, d断开屏幕会话并注销。

每当您再次登录时,如果您想查看进度,可以screen -a重新挂接屏幕。

答案 1 :(得分:0)

如果您在前台执行了脚本(或使用&将其分叉到后台),则会在会话结束后终止。

为避免这种情况,您可以选择以下几种方法:

  • nohup&一起使用,强制程序忽略SIGHUP信号。
  • 使用cronat或init系统等调度程序安排进程在/运行一段时间。
  • 使用GNU screentmux等虚拟终端多路复用器在可恢复终端的“后台”中运行程序。

使用调度程序可能是三者中最通用的,但如果您希望实时查看脚本的输出,则多路复用器可能很有用。