最近在弄自己的 OA 系统,需要把 api 处理脚本部署到 linux 服务器上,在配置好环境,在服务器上成功运行代码后,发现一个问题,当我退出命令窗口时,程序就没在执行了,这没有达到永久可以连接 api 的目的,google 了一下之后,了解到要让程序永久运行,可以让程序在后台执行,主要的方法有 nohub、screen、开机启动等,其中 nohub 在关闭命令窗口之时,会关掉程序,去除,开机启动要修改系统配置,个人不太喜欢用这种方法,剩下 screen 了,它是可以让不同的程序在不同的命令窗口中执行,有屏幕分离的模式,会给每个屏幕创建不同的进程,只要不杀死进程,即使离开当前命令窗口,也不会停止程序的运行,所以使用 screen 是最好的方案了。

screen 的用法:

# 创建并跳转到一个窗口
screen -S name
# 执行程序
python test.py
# 退出当前窗口
ctrl a d