Documentation= https://wiki.minetest.net/Main_Page
[Service]
Type= simple
User=
ExecStart= /usr/games/minetest --server
ExecStartPost= /home/
"Minetest Starting up"
TimeoutStopSec= 180
ExecStop= /home/
"Minetest Stopping in 2 minutes"
ExecStop= /bin/sleep 120
ExecStop= /bin/kill -2 $MAINPID
[Install]
WantedBy= multi-user.target
在嘗試新的服務之前,你還需要對郵件腳本做一些調整:
#!/bin/bash
# mtsendmail
sleep 20
echo $1 | mutt -F /home/
/.muttrc -s "$2" my_minetest@mailing_list.com sleep 10
這是因為系統需要一定的時間啟動郵件系統(這裡等待 20 秒),也需要一定時間完成郵件發送(這裡等待 10 秒)。注意腳本中的等待時間數值適用於我的系統,你可能需要針對你的系統調整數值。
大功告成啦。執行如下操作:
sudo systemctl enable minetest
你的 Minetest 服務將在系統啟動時自動啟動,在系統關閉時友好關閉並通知你的用戶。
總結
事實上 Debian、 Ubuntu 和一些族類的發行版提供了 minetest-server 這個特別的軟件包,可以提供一部分上述功能,(但不包括郵件通知功能)。即使如此,你還是可以建立你獨有的自定義服務;事實上,你目前建立的服務比 Debian 默認提供的服務更加通用,可以提供更多功能。
更進一步的說,我們這裡描述的流程可以讓你將大多數簡單服務器轉換為服務,類型可以是遊戲、網站應用或其它應用。同時,這也是你名副其實地踏入 systemd 大師殿堂的第一步。
via: https://www.linux.com/blog/learn/2018/5/systemd-services-beyond-starting-and-stopping
閱讀更多 Linux中國 的文章