nohup 日志权限错误,通常表现是类似:
nohup: failed to run command ‘xxx’: Permission denied
nohup: ignoring input and appending output to ‘nohup.out’
nohup.out: Permission denied
或者启动后无法写 nohup.out。下面按常见原因 + 解决办法给你说明。
nohup 默认会把输出写到当前目录的 nohup.out,如果你没有当前目录写权限就会报错。
解决方法:
✅ 换到有写权限的目录:
cd ~
nohup your_command &
✅ 或者手动指定日志路径:
nohup your_command > /home/user/app.log 2>&1 &
比如:
root 跑过检查:
ls -l nohup.out
解决:
rm nohup.out
# 或
sudo chown $USER:$USER nohup.out
mount | grep "on / "
如果看到 ro(read-only),需要重新挂载:
sudo mount -o remount,rw /
不是日志问题,但常被误认为是 nohup 错误:
chmod +x your_script.sh
例如:
sudo nohup ./app > nohup.out &
此时 nohup.out 属于 root,但你后续用户访问会失败。
✅ 推荐写法:
sudo nohup ./app > /var/log/app.log 2>&1 &
nohup your_command > /home/youruser/app.log 2>&1 &
或后台稳定运行:
setsid your_command > /home/youruser/app.log 2>&1 < /dev/null &
如果你愿意,可以把完整报错信息或你用的命令贴出来,我可以直接帮你定位是哪一类问题。