为什么我会得到状态代码 2 以及它意味着什么?

为什么我会得到状态代码 2 以及它意味着什么?

这是我的命令结果service nginx status。(Debian 8 64位)

Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
Active: active (running) since Fri 2015-09-18 12:20:23 CEST; 2h 29min ago
Process: 31845 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=2)
Process: 29093 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS)
Process: 31851 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 31848 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 31852 (nginx)
CGroup: /system.slice/nginx.service
       ├─31852 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
       ├─31853 nginx: worker process                           
       ├─31854 nginx: worker process                           
       ├─31855 nginx: worker process                           
       └─31856 nginx: worker process           

我不太明白这是什么Process: 31845 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=2)意思,为什么我会得到状态代码 2。无论如何,看起来 nginx 运行正常。

我应该怎么做才能解决这个消息?

答案1

根据 start-stop-daemon 命令这一页,状态脚本正在尝试正常停止(--stop)nginx(使用 QUIT 信号),然后重试并等待最多 5 秒(以 QUIT/5 为单位)。如果此时 nginx 仍处于活动状态(即已达到超时),它将返回状态 2。

当被询问服务状态时尝试停止服务的行为对我来说听起来很奇怪。它更适合放在服务重启脚本中。

这看起来不是一个问题。我不会尝试删除此消息

答案2

我也遇到了同样的问题。不要重新启动正在运行的服务器,而是尝试停止并启动

  • 首先停止 nginx 服务器
  • 然后重新开始

现在nginx状态中没有红色标记。

相关内容