温馨提示×

centos如何后台运行nohup

小樊
46
2026-09-15 08:03:02
栏目: 智能运维

在 CentOS(以及大多数 Linux 发行版)中,nohup 常用于让程序在后台运行,且退出终端后不被中断


一、基本用法

nohup 命令 &

示例:

nohup python app.py &
  • nohup:忽略挂断信号(SIGHUP)
  • &:放到后台运行
  • 默认输出会写入当前目录的 nohup.out

二、指定日志文件(推荐)

nohup python app.py > app.log 2>&1 &

说明:

  • >:标准输出重定向
  • 2>&1:错误输出也写入同一文件
  • &:后台运行

三、不记录日志(丢弃输出)

nohup python app.py > /dev/null 2>&1 &

四、查看后台进程

ps -ef | grep app.py

或:

jobs

(仅当前 shell 有效)


五、结束后台进程

kill -9 PID

示例:

kill -9 12345

六、配合 disown(可选)

如果你已经用 & 运行了程序:

disown

这样即使关闭终端,进程也不会被杀死。


七、更现代的替代方案(推荐)

1️⃣ systemd(服务器程序推荐)

systemctl start your-service

2️⃣ screen

screen -S myapp
python app.py
# Ctrl + A + D 退出

3️⃣ tmux

tmux new -s myapp
python app.py
# Ctrl + B + D 退出

如果你有具体程序(如 Java、Python、Node.js、Shell 脚本),我可以给你更精确的命令示例。

0