我必須使用 systemd 在 RHEL7 電腦上設定許可證伺服器。許可證伺服器應在引導時啟動並從網路上的共享磁碟載入許可證文件。所以我需要等待網路啟動並等待 autofs 完成掛載 NFS 磁碟。我有這個服務文件:
[Unit]
Description=Flexnet license server
Wants=network.target network-online.target autofs.service
After=network.target network-online.target autofs.service
[Service]
Type=forking
User=licenseuser
Group=devusers
ExecStart=/soft/flexera/glnxa64/lmgrd -c /soft/licenses/license.dat -L /home/licenseuser/license.log
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
[Install]
WantedBy=multi-user.target
該服務在 autofs 啟動之後但在 autofs 掛載所有磁碟之前啟動,因此許可證伺服器無法啟動。
答案1
您應該添加以下內容
[Unit]
RequiresMountsFor=<path required>
這將確保在啟動服務之前可以訪問該路徑,並且如果還沒有的話,也會安裝它(除非指定了 noauto)。檢查您的線上說明頁面(man systemd.unit),您的系統是否支援該選項,因為我的系統非常前沿。