用于管理服务

参数

  • arguments: 给命令行提供一些选项
  • enabled:是否开机启动 yes | no
  • name:服务名称
  • pattern:定义一个模式,如果通过status命令来查看服务的状态时,没有响应,就会通过ps指令在进程中根据该模式进行查找,如果匹配到,则认为该服务已经在运行,否则会认为未启动( ps aux | grep pattern )
  • runlevel:运行级别
  • sleep:如果执行了,restarted,则在 stop 和 start 之间沉睡几秒钟
  • state:started、stoped、restarted和reloaded,其中started和stoped是幂等的,也就是说如果服务已经停止,那么运行stoped不会执行任何操作

例子

启动nginx进程,并设置为开机启动
ansible test -m service -a ‘name=nginx state=started enabled=yes’ -k

关闭nginx进程
ansible test -m service -a ‘name=nginx state=stopped’ -k

重启network进程,并传递eth0 作为参数,即:重启eth0网卡
ansible test -m service -a ‘name=network state=restarted arguments=eth0’ -k

如果无法使用 service nginx status查寻到nginx的状态,那么会使用 ps 来过滤 pattern指定的关键字,如果存在,则表示程序已经正常启动
ansible test -m service -a ‘name=nginx pattern=/usr/local/nginx state=started’ -k