在Google Cloud Compute Engine

时间:2017-11-28 21:48:10

标签: python google-compute-engine

我知道这是this问题的精确副本,但我一直尝试不同的解决方案,但没有提出任何问题。

我有这个简单的脚本,它使用PRAW在Reddit上查找帖子。这需要一段时间,所以当我退出shell时我需要它保持活着。

我尝试将其设置为启动脚本,使用nohup以便在后台运行它,但这些都不起作用。我跟着quickstart我可以运行hello word app,但所有这些示例都是针对Web应用程序的,我想要的就是在我的VM上启动一个进程,并在我没有连接时保持运行,没有使用.yaml配置文件等。有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

嗯,最后使用nohup就是答案。我是GNU环境的新手,我只是假设它在我第一次尝试时没有用。我的程序退出时出现错误,但我没有检查nohup.out文件,所以我没有意识到它..

无论如何这里是一个详细的指南供将来参考(使用Debian Stretch):

  1. 使您的脚本成为可执行文件

    chmod +x myscript.py
    
  2. 运行nohup命令在后台执行脚本。 &选项确保进程在退出后保持活动状态。我已将shebang行添加到我的python脚本中,因此无需在此处调用python

    nohup /path/to/script/myscript.py &
    
  3. 如果需要,请从shell注销

    logout
    
  4. 完成!现在您的脚本已启动并正在运行。您可以通过检查此命令的输出来返回并确保您的进程仍然有效:

    ps -e | grep myscript.py