守护进程

在英博云开发机使用过程中,如果您通过 SSH 或基于 SSH 的工具(如 PyCharm、VS Code 等)远程执行程序,请务必以守护进程方式运行长时间任务。否则,一旦 SSH 连接中断,程序可能随之终止,造成不必要的损失。

守护进程执行您程序的三种方式:jupyterlab的终端、tmux、screen。

Jupyterlab

使用Jupyterlab的终端执行,只要Jupyterlab不出现重启,终端就会一直运行。

如果您关闭了这个终端的tab,可以通过左侧栏中找回。

Tmux

Tmux 是一个终端复用器,用于将会话与窗口解绑。窗口关闭时,会话不会终止而是继续运行,等以后需要的时候,再让会话绑定其他窗口即可。

安装tmux在终端中执行:apt-get update && apt-get install -y tmux

新建会话

在终端新建会话的命令:

tmux new -s <session-name>

分离会话

在 Tmux 窗口中,按下Ctrl+b d命令,就会将当前会话与窗口分离。执行后,会退出当前 Tmux 窗口,但是会话和里面的进程仍然在后台运行。

查看会话

通过查看会话命令可以查看当前所有的 Tmux 会话

tmux ls

接入会话

通过接入会话命令可以重新接入某个已存在的会话

tmux attach -t <session-name>

screen

screen 是另一个流行的终端复用器,功能上与 tmux 类似,但比 tmux 历史更悠久。它也允许创建持久化会话,在一个终端窗口中管理多个窗口。

安装screen在终端中执行:apt-get update && apt-get install -y screen

新建会话

在终端输入以下命令并回车,创建一个新的 screen 会话:

screen -S screen1

分离会话

在 screen 窗口中,按下Ctrl+a d命令, 这会将当前的 screen 会话 分离。执行后,会退出当前 screen 窗口,但是会话和里面的进程仍然在后台运行。

接入会话

通过接入会话命令可以重新接入某个已存在的会话

screen -r screen1