如何无限期地在VM上运行shell脚本?

时间:2015-03-24 17:32:54

标签: shell unix cron virtual-machine

我有一台我想要无限期运行的虚拟机。服务器一直在运行,但我希望在我注销后脚本继续运行。我该怎么做呢?创建一个cron作业?

1 个答案:

答案 0 :(得分:0)

通常,以下步骤足以说服大多数Unix shell,您启动的进程不应该依赖于shell的继续存在:

  • nohup
  • 下运行命令
  • 在后台运行命令
  • 将通常指向终端的所有文件描述符重定向到其他位置

所以,如果你想运行command-name,你应该这样做:

nohup command-name >/dev/null 2>/dev/null </dev/null &

这告诉流程执行command-name将所有stdoutstderr发送到任何地方(而不是发送到您的终端),并且还可以从任何地方读取stdin(而不是从您的终端)。当然,如果您确实有写入/读取的位置,您当然可以使用它们 - 除了终端之外的任何东西都可以:

nohup command-name >outputFile 2>errorFile <inputFile &

另见Petur评论中的答案,该评论对此问题进行了一些讨论。

相关问题