使用 systemctl 启动的进程没有抛出任何错误,但未出现在进程列表中?

使用 systemctl 启动的进程没有抛出任何错误,但未出现在进程列表中?

我是 Unix 新手。我正尝试gunicorn从开始systemctl。没有出现错误消息,但它也没有显示在进程列表中:

$ sudo systemctl start gunicorn
$ ps aux | grep gunicorn
test+ 29902  0.0  0.0  14224   924 pts/0    S+   11:13   0:00 grep --color=auto gunicorn

有可能它在运行,但是却看不见吗?

或者如果不是,我该如何调试它没有运行的原因?

更新:刚刚尝试systemctl status gunicorn并得到这个:

● gunicorn.service - Gunicorn Application Server handling myapp
   Loaded: loaded (/etc/systemd/system/gunicorn.service; enabled; vendor preset: enabled)
   Active: inactive (dead) (Result: exit-code) since Mon 2016-10-31 11:24:04 EDT; 1min 25s ago
  Process: 30135 ExecStart=/.venv/bin/gunicorn --workers 3 --bind unix:/home/myapp/myapp/myapp.sock myapp.wsgi:application (code=exited, status=200/CHDIR)
 Main PID: 30135 (code=exited, status=200/CHDIR)

所以它死了,但我怎样才能找出原因呢?

答案1

(代码=已退出,状态=200/CHDIR)

您在服务单元中配置的工作目录错误或无法访问。

答案2

我遇到了类似的情况,我正确显示了所有文件夹,但出现了相同的错误。我通过更改“用户”参数使其正常工作。我将其设置为 root 并正常工作。仅供参考。

相关内容