我有一台我想要无限期运行的虚拟机。服务器一直在运行,但我希望在我注销后脚本继续运行。我该怎么做呢?创建一个cron作业?
答案 0 :(得分:0)
通常,以下步骤足以说服大多数Unix shell,您启动的进程不应该依赖于shell的继续存在:
nohup
所以,如果你想运行command-name
,你应该这样做:
nohup command-name >/dev/null 2>/dev/null </dev/null &
这告诉流程执行command-name
将所有stdout
和stderr
发送到任何地方(而不是发送到您的终端),并且还可以从任何地方读取stdin
(而不是从您的终端)。当然,如果您确实有写入/读取的位置,您当然可以使用它们 - 除了终端之外的任何东西都可以:
nohup command-name >outputFile 2>errorFile <inputFile &
另见Petur评论中的答案,该评论对此问题进行了一些讨论。