有人能让我知道如何在主机关闭期间文件系统卸载开始之前先停止systemd服务吗?
单元文件如下所示
[Unit]
Description=FDB Service
After=network-online.target
Wants=network-online.target
[Service]
Environment=FDB_PID_DIR=/var/run/fdb/
Environment=LOCKFILE=/var/run/fdb/fdbmonitor.pid
Type=simple
User=ubuntu
Group=ubuntu
IgnoreSIGPIPE=false
ExecStart=/bin/bash /home/ubuntu/build-target/fdb/fdb-sysd-start.sh
ExecStopPost=-/home/ubuntu/build-target/fdb/fdb-sysd-poststop.sh
RestartSec=2s
Restart=always
[Install]
WantedBy=multi-user.targetUbuntu 16.04.6发布于 2020-06-17 07:50:14
这几乎肯定是您的服务(fdb)的一个问题。systemd将首先尝试停止所有服务,然后执行卸载。确保您的服务在合理的时间内停止--如果它需要更多的时间来优雅地停止,您可以将TimeoutStopSec=设置为更高的值。另外,确保Type=simple是合适的,从它的外观来看,Type=forking可能更好。切换到Type=forking时,如果PID文件实际上包含主进程PID,则通过添加PIDFile=/var/run/fdb/fdbmonitor.pid来使用PID文件。
如果您使用的是网络挂载共享,系统应该在关闭网络之前检测并卸载它们。如果没有发生这种情况,添加_netdev挂载选项来告诉systemd这实际上是一个网络共享。
https://serverfault.com/questions/1021765
复制相似问题