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--