282 字
1 分钟
Ubuntu 后台运行程序
2025-09-03

Screen#

apt install screen # 安装 screen
screen -s yolo # 开启名为 yolo 的 session
python train.py ... # 开始训练

完成后先不要放开不管,把当前的 ssh 连接断开,并重新连接。

输入如下指令,查看所有 screen 的 session :

screen -ls

输入如下指令,回到刚才创建的 session ,如果 yolo 训练在正常进行就没有问题了:

screen -r 350924 # screen -r yolo

如果想要关闭这个 session 可以使用如下指令:

screen -r 350924 # 回到创建的 session
exit # 退出并关闭 session

Ctrl + A + D 退出当前会话

nohup#

后台运行 python 脚本:

nohub python main.py
  • 执行命令后程序会在前端运行,此时 Ctrl+C 可关闭程序
  • 执行命令后如果关闭终端,程序则会在后台运行

查找后台运行的 python 脚本:

ps aux | grep python

systemctl#

创建新的 service:

sudo vim /etc/systemd/system/my-app.service

将以下内容写入文件:

[Unit]
Description=App Description
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/root/anaconda3/bin/python /root/main.py
Restart=no
[Install]
WantedBy=multi-user.target

重新加载服务:

sudo systemctl daemon-reload

启动服务:

sudo systemctl start my-app.service

查询服务状态:

sudo systemctl status my-app.service

开机自启动服务:

sudo systemctl enable my-app.service
Ubuntu 后台运行程序
https://fuwari.vercel.app/posts/ubuntu/ubuntu-后台运行程序/
作者
Asuwee
发布于
2025-09-03
许可协议
CC BY-NC-SA 4.0