mongod.service 文件应该放在 ubuntu16 中的 /etc/systemd/ 或 /lib/systemd/

Sid*_*ry 0 mongodb systemd

我对我遇到的问题感到困惑是我有两个系统,在一个系统中我将 mongod.service 放在/etc/systemd/system 中,而在第二个系统中我将它放在/lib/systemd/系统

由于两者当前都显示状态为正在运行。但是在 /etc 的情况下

我通过以下方式检查状态:- sudo systemctl status mongodb 但此命令不适用于 /lib/ case: service mongod status

谁能让我明白到底发生了什么

Dar*_*ght 9

服务文件或单元文件可以放在以下任何路径中

/etc/systemd/system/ - Prio 1
/run/systemd/system/ - Prio 2
/lib/systemd/system/ - Prio 3
/usr/lib/systemd/system/ - Prio 3
Run Code Online (Sandbox Code Playgroud)

优先顺序按照上面给出的优先级。

来自官方 systemd 文档

除了 /etc/systemd/system 之外,系统服务的嵌入式“.d”目录可以放在 /usr/lib/systemd/system 或 /run/systemd/system 目录中。/etc 中的插入文件优先于 /run 中的文件,后者又优先于 /usr/lib 中的文件。任何这些目录下的插入文件都优先于位于任何位置的单元文件。具有不同名称的多个插入文件按字典顺序应用,无论它们驻留在哪个目录中。

Systemctl status 应显示从上述任何路径启动的单元文件的当前状态。此外,您可以使用systemctl list-unit-files查看启用和禁用的所有单元文件的状态。

在这里阅读更多

希望这可以帮助 :)