我一直在 AWS EC2 实例上使用“screen”linux 命令来保持代码全天候运行。最近,我在 ubuntu 终端中尝试了该命令,发现如果我制作一个屏幕、运行一个程序并正确关闭屏幕,即使我关闭 WiFi、关闭我的电脑等,代码仍会继续运行。我对此感到非常惊讶,因为我认为代码在终端本地运行,因此如果我执行这样的操作,代码就会停止运行。
有人知道这是怎么回事吗?我认为它必须在 ubuntu 的服务器上运行,但令我惊讶的是他们不会向我收取费用,而 AWS 却要收费。
答案1
屏幕的概念是防止失去对会话的访问权限,并防止在终端窗口关闭/ ssh 连接断开时代码停止。
就你的情况而言,如果代码在重新连接后运行;你肯定连接到了远程计算机。任何关机/重启,包括在内的所有程序screen
都将停止,你必须在启动后重新运行。
tmux
是 的更高级版本,screen
具有更多功能。我建议查看其功能,如果这些功能适合您的工作类型,则切换。
截至目前,tmux
您的发行版可能尚未预先安装;安装非常简单:
sudo apt install tmux
或者
yum install tmux