Ubuntu后台进程管理实用指南
一 基础概念与常用术语
二 启动与脱离终端运行
your_command &bg %n 让编号为 n 的任务在后台继续。nohup your_command > myout.log 2>&1 &screen -S s1 创建会话;在会话内运行程序;按 Ctrl+A 再按 D 分离;screen -r s1 重新连接。tmux new -s s1 创建会话;Ctrl+B 再按 D 分离;tmux attach -t s1 重新连接。三 查看与监控进程
top(按 P 按 CPU、按 M 按内存排序;q 退出)htop(更友好,支持按键筛选与鼠标操作;安装:sudo apt install htop)ps aux 或 ps -ef 查看全局进程;ps -p PID -o comm= 查看指定 PID 的进程名。pgrep -l pattern 按名称/命令行匹配进程;pidof your_app 获取进程 PID。pstree -p 以树形显示进程父子关系。jobs -l 查看后台/暂停任务及其 PID。四 终止与清理进程
kill PID(发送 SIGTERM,允许清理退出)kill -9 PID(发送 SIGKILL,强制结束,慎用)killall firefox(按进程名终止全部匹配进程)pkill -f "pattern"(按命令行模式匹配并终止)kill %1(终止作业号为 1 的任务)sudo lsof -i:8090 或 netstat -tulpen | grep 8090 查找占用 8090 端口的进程,再结合 kill 处理。五 长期运行与系统服务
sudo nano /etc/systemd/system/your_service.service[Unit]
Description=Your Service
After=network.target
[Service]
ExecStart=/usr/bin/python3 /home/ubuntu/app.py
Restart=always
User=ubuntu
WorkingDirectory=/home/ubuntu
[Install]
WantedBy=multi-user.target
sudo systemctl start|stop|restart|status your_servicesudo systemctl enable|disable your_servicekill PID 尝试优雅退出 → 无效再用 kill -9 PID;必要时检查并禁用不必要的开机服务。