温馨提示×

debian怎么后台运行进程

小樊
43
2026-09-28 18:29:12
栏目: 智能运维

在 Debian(以及大多数 Linux 发行版)中,有几种常见方式可以让进程在后台运行,即使你退出终端也不中断。下面按常用程度和适用场景介绍。


一、最基础:命令后加 &

command &

示例:

python3 server.py &
  • 进程在后台运行
  • 终端关闭后进程会被杀掉
  • 适合临时后台任务

查看后台任务:

jobs

二、忽略挂断信号:nohup

nohup command > output.log 2>&1 &

示例:

nohup python3 server.py > app.log 2>&1 &
  • 终端关闭后进程继续运行
  • 输出写入日志文件
  • 最常用、最简单

三、推荐方式:setsid

setsid command

示例:

setsid python3 server.py
  • 完全脱离终端
  • 不受 SIGHUP 影响
  • 比 nohup 更“干净”

四、终端复用器:screen

screen
# 在 screen 中运行命令
python3 server.py

离开(保持运行):

Ctrl + A, 然后 D

重新连接:

screen -r

查看会话:

screen -ls

✅ 适合长期交互式任务


五、终端复用器:tmux(更现代)

tmux
python3 server.py

脱离:

Ctrl + B, 然后 D

重新进入:

tmux attach

✅ 功能比 screen 强,推荐服务器使用


六、生产环境推荐:systemd(服务方式)

创建服务文件:

sudo nano /etc/systemd/system/myservice.service

内容示例:

[Unit]
Description=My App

[Service]
ExecStart=/usr/bin/python3 /home/user/server.py
WorkingDirectory=/home/user
Restart=always

[Install]
WantedBy=multi-user.target

启用并启动:

sudo systemctl enable myservice
sudo systemctl start myservice

查看状态:

systemctl status myservice

✅ 最稳定、可开机自启、自动重启


七、查看后台进程

ps aux | grep command

或:

top
htop

总结建议

场景 推荐方式
临时后台 &
简单持久 nohup / setsid
交互任务 screen / tmux
生产服务 systemd

如果你是具体某个程序(如 Python、Node、Java),可以告诉我,我可以给你更精确的命令。

0 踩