我以 cPanel 用户身份循环运行以下命令(没有明显的内存泄漏):
nohup php ~/www/app/console.php run clean 1> /dev/null 2> ~/www/logs/run_clean.log &
但是当我退出 SSH 时,命令总是停止。当我htop
以 root 身份执行时,我看不到正在运行的进程。
例如,如果我几天不退出 SSH,该过程将继续正常运行!
出了什么问题?我发布的命令不应该在后台无中断地运行吗?
答案1
该命令可能会检测到其 stdin 在注销时被关闭。尝试从以下位置重定向它/dev/null
:
nohup php ~/www/app/console.php run clean 1> /dev/null 2> ~/www/logs/run_clean.log </dev/null &