Ubuntu 16.04默認使用systemd管理服務的啓動、中止、從新啓動和狀態查看等。因爲以前用習慣了sysv的服務管理方式,用sytemd還很不習慣,有不少不甚了了地方。今天中午準備在Ubuntu 16.04上部署一套Open×××用於遠程管理阿里雲的十幾臺Linux主機,期間遇到了一個關於systemd的問題,在此記錄一下,供須要者查看和了解。ubuntu
systemd所管理的服務一般位於:/lib/systemd/system/,若是細心的話會發現有些xxx.service中有帶「@」 at符號的。這種符號表示,這是一個支持「模板」(官方叫template,我的以爲稱爲「參數」更比較形象)的systemd 服務,@符號後面的內容會被當成變量傳遞到這個服務中,做爲參數使用。瀏覽器
原文摘錄以下:bash
Open××× is a templatized service under systemd. The services are named open***@config.service. So you should be starting your /etc/open***/my***.conf instance withide
systemctl start open***@my***.service阿里雲
舉個例子:spa
以下圖所示,在看過以後都會好奇:server
@符號是作什麼用?blog
文件中%i這個變量是怎麼來的有何用?圖片
那麼在瞭解了上文提到的知識後,就會明白@後面的內容實際上就是%i要替換的內容。ip
Tips:51CTO博客系統的圖片可能存在bug或缺陷,若是沒法清晰的查看圖片,可使用Chrome瀏覽器,右鍵單擊圖片,選擇「在新標籤頁中打開圖片」便可查看高清圖片。
若是在配置Open×××客戶端時,配置文件的名字叫作「ebt-aliyun-hangzhou-120.26.161.168.conf」,那麼在啓動這個服務的時候,如要這樣啓動:
sudo systemctl start open***@ebt-aliyun-hangzhou-120.26.161.168
查看服務的運行狀態也須要相似的語法:
sudo systemctl status open***@ebt-aliyun-hangzhou-120.26.161.168
附:
排錯和搜索相似問題的小技巧:最好使用「Google+英文」的搜索方式,如在Google搜索框內輸入「ubuntu 16.04 open*** client systemd」可能更快的找到問題的解決辦法。
參考連接:
Correct way of systemd for Open××× client on 16.04 Server?
tag:ubuntu16.04,open*** client,open*** systemd
--end--