当我关闭与GCP的SSH连接时,服务器程序退出

时间:2018-12-26 06:14:11

标签: python ubuntu google-cloud-platform httpserver

我在Google Cloud Platform(GCP)上有一个Ubuntu实例。我想将其用作访问文件的HTTP服务器。我只是使用此python命令,在bash中键入它:

  

python3 -m http.server 8000

这将作为脚本运行http.server模块,构造一个简单的HTTP服务器并在端口8000侦听。

问题在于,由于我使用GCP实例,因此必须远程连接到它(例如,我使用GCP提供的SSH shell)。当我关闭SSH shell时,python HTTP服务器将停止。那么,在关闭外壳程序后如何确保服务器仍然运行?

我确实在Google上进行了搜索,并尝试使用

  

nohup python3 -m http.server 8000&

我引用此命令,该指令将作为后台程序运行,并在退出bash后继续运行。但这似乎不适用于我的情况。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

尝试使用screen命令。我认为它比nohup更容易使用,也更灵活,因为您还可以在分离后重新附加进程。有关详细信息,请参见this answer

答案 1 :(得分:0)

String downloadFolder = System.getProperty("user.dir") + "/exportedFiles"; HashMap<String, Object> chromePrefs = new HashMap<String, Object>(); chromePrefs.put("plugins.always_open_pdf_externally", true); chromePrefs.put("download.default_directory", downloadFolder); chromePrefs.put("browser.setDownloadBehavior", "allow"); chromePrefs.put("download.prompt_for_download", "false"); ChromeOptions options = new ChromeOptions(); options.addArguments("headless"); options.addArguments("--test-type"); options.addArguments("--disable-extensions"); options.setExperimentalOption("prefs", chromePrefs); driver = new ChromeDriver(options);模块并不意味着要成为成熟的Web服务器。

您将要设置类似Apache之类的内容,请参见Running a basic Apache web server