我的服务突然停止工作,systemctl status
报道:
Main PID: 5459 (code=killed, signal=TERM)
此外,我通过journald
查看了我的服务(journalctl -u myservice.service
),最后一个条目是:
<...>
systemd[1]: Stopped MyService Service.
这是否意味着它是用systemctl stop
手动停止的,还是意味着它已经崩溃了?有什么办法可以说吗?
发布于 2022-06-21 20:18:04
使用rails 5.0.1和ruby 2.3.3在ubuntu18.04上运行相同的问题:从命令行或通过systemd启动服务器将导致相同的输出:
$ /usr/local/bin/ruby bin/rails server -b0.0.0.0 -p 3000 -e production
=> Booting Thin
=> Rails 5.0.1 application starting in production on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
[2022-06-21 12:55:32] INFO -- Thin web server (v1.8.1 codename Infinite Smoothie)
[2022-06-21 12:55:32] INFO -- Maximum connections set to 1024
[2022-06-21 12:55:32] INFO -- Listening on 0.0.0.0:3000, CTRL+C to stop
Exiting
如果我从控制台启动服务器,或者通过systemd启动服务器,我会在控制台中看到这个输出,而systemctl状态报告的是OP注释中的Main PID: 19315 (code=killed, signal=TERM)
。
另一个奇怪的观察是,如果我使用-d (作为守护进程运行)从命令行启动服务器,那么它可以正常工作:
/usr/local/bin/rails server -b0.0.0.0 -p 3000 -e production -d
正常工作!
systemd服务文件中没有任何变化,服务器代码本身也很少发生重大变化。这可能是一个环境问题,因为我经历了创业板地狱试图提供服务器。然而,这并不能真正解释-d的原因。
https://unix.stackexchange.com/questions/705342
复制相似问题