我已经设置了一个Amazon EC2服务器。我有一个Python脚本,可以从网络上下载大量数据到服务器上。我可以通过ssh
从终端运行脚本,但经常会失去ssh
连接。当我断开连接时,脚本就停止了。
是否有一种方法,可以让我告诉脚本在终端上运行,即使我断开连接,脚本仍然在服务器上运行?
我已经设置了一个Amazon EC2服务器。我有一个Python脚本,可以从网络上下载大量数据到服务器上。我可以通过ssh
从终端运行脚本,但经常会失去ssh
连接。当我断开连接时,脚本就停止了。
是否有一种方法,可以让我告诉脚本在终端上运行,即使我断开连接,脚本仍然在服务器上运行?
您有几个选择。
cron
中以定期运行。nohup
将其分离+后台运行。screen
。screen -rD
。您应该看到您的内容与您离开时一样。/etc/rc.d/
中以在引导时调用并始终运行。如果它只是一个你随意运行的实用程序,而不是某种服务守护进程,那么我会在 screen
中运行它。这样,如果你想要断开连接并稍后重新打开终端,或者如果你断开了连接,可以重新连接终端。它应该在你的 Linux 发行版软件包管理器中。只需要搜索 screen
即可。
nohup
命令可以忽略挂起信号来运行给定的命令,因此即使在您退出后,该命令也可以继续在后台运行。
语法:
nohup Command [Arg]...
例子:
nohup example.py
nohup rasa run
此外,您可以使用 cron
命令连续运行脚本。
了解更多: