温馨提示×

nohup日志怎么看进程

小樊
47
2026-10-03 12:58:44
栏目: 编程语言

nohup 本身不创建进程管理功能,它只是让进程**忽略挂断信号(SIGHUP)**并在后台运行,通常会把输出重定向到日志文件(默认是 nohup.out)。

你说的“nohup日志怎么看进程”,一般可以理解为下面几种情况:


一、通过 nohup 日志文件看进程在不在跑

1. 默认日志

nohup command &

日志默认在:

nohup.out

查看日志:

tail -f nohup.out

如果有持续输出,说明进程大概率还在运行。


2. 指定日志文件

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

查看日志:

tail -f app.log

二、通过日志反查进程 PID(常见做法)

1. 启动时就记录 PID

nohup python app.py > app.log 2>&1 &
echo $! > app.pid

查看 PID:

cat app.pid

2. 通过日志内容找进程

如果日志里有端口或关键字:

ps -ef | grep app.py

或:

pgrep -f app.py

三、结合日志和进程状态判断

看进程是否存活

ps -p $(cat app.pid)

看进程资源占用

top -p $(cat app.pid)

四、推荐更清晰的替代方案(比 nohup 好用)

✅ setsid

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

✅ systemd(服务器长期运行)

[Unit]
Description=My App

[Service]
ExecStart=/usr/bin/python app.py
Restart=always

[Install]
WantedBy=multi-user.target

✅ screen / tmux

tmux new -s myapp
python app.py

总结一句话

nohup 日志只能“间接”看进程状态,真正看进程要用 ps / pgrep / PID 文件。

如果你愿意,可以贴一下你具体的 nohup 启动命令,我可以直接帮你写看进程 + 看日志的完整命令。

0 踩