簡體   English   中英

如何在 EC2 服務器上連續運行 Python 腳本?

[英]How to continuously run a Python script on an EC2 server?

我已經設置了一個 Amazon EC2 服務器。 我有一個 Python 腳本,它應該從 web 下載大量數據到服務器上。 我可以通過ssh從終端運行腳本,但是我經常會松開ssh連接。 當我失去連接時,腳本停止。

有沒有一種方法可以讓腳本從終端運行,當我斷開連接時,腳本仍在服務器上運行?

你有幾個選擇。

  • 您可以將腳本添加到cron以定期運行。
  • 您可以手動運行腳本,並使用nohup將其分離+背景。
  • 您可以運行諸如 GNU Screen 之類的工具,然后分離您的終端並注銷,然后再從您離開的地方繼續。 我經常使用這個。
    • 例如:
      1. 登錄到您的機器,運行: screen
      2. 啟動您的腳本,然后關閉您的終端或使用以下命令正確分離您的 session:Ctrl+A、D、D。
      3. 斷開與終端的連接。
      4. 稍后重新連接,然后運行screen -rD 你應該看到你的東西,就像你離開它一樣。
  • 您還可以將腳本添加到/etc/rc.d/以在書上調用並始終運行。

您還可以使用nohup使您的腳本在后台運行,或者在您與 session 斷開連接時運行:

nohup script.py &

命令末尾的&明確告訴nohup在后台運行您的腳本。

如果它只是您運行臨時的實用程序,而不是某種服務守護程序,我會在screen中運行它。 如果您願意,您可以斷開連接並稍后打開終端備份......或者如果您斷開連接,請重新連接終端。 它應該在您的 linux 發行版 package 管理器中。 只搜索screen

http://www.gnu.org/software/screen/

nohup在忽略掛斷信號的情況下運行給定命令,以便在您注銷后該命令可以繼續在后台運行。

句法:

nohup Command [Arg]...

例子:

nohup example.py
nohup rasa run

此外,您可以使用cron命令連續運行腳本。

更多:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM