内容纲要

ubuntu 新建一个简单的 service

通过 ubuntu 自带的 service,可以很方便的创建后台运行程序
service 文件路径:/lib/systemd/system
service 文件包括多个部分,下面是一个简单的后台运行程序的 service 文件

#leshan-server.service
[Unit]
Description= leshan lwM2M demo server

[Service]
type=forking
ExecStart=/usr/bin/java -jre /home/simple/leshan/leshan-server-demo.jar
  • 启动服务
    service leshan-server start
  • 停止服务
    service leshan-server stop
  • 重新加载 service 文件
    systemctl daemon-reload

常用命令

重新加载 service 文件:systemctl daemon-reload
启动一个服务:systemctl start nginx-1.13.0.service
关闭一个服务:systemctl stop nginx-1.13.0.service
重启一个服务:systemctl restart nginx-1.13.0.service
显示一个服务的状态:systemctl status nginx-1.13.0.service
在开机时启用一个服务:systemctl enable nginx-1.13.0.service
在开机时禁用一个服务:systemctl disable nginx-1.13.0.service
查看服务是否开机启动:systemctl is-enabled nginx-1.13.0.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

centos 中 service 命令与 /etc/init.d 的关系

service httpd start 其实是启动了存放在 /etc/init.d 目录下的脚本。

但是 centos7 的服务管理改规则了。
CentOS 7 继承了 RHEL 7 的新的特性,例如强大的 systemctl,
而 systemctl 的使用也使得以往系统服务的 /etc/init.d 的启动脚本的方式就此改变,
也大幅提高了系统服务的运行效率。但服务的配置和以往也发生了极大的不同,
说实在的,变的简单而易用了许多。

CentOS 7 的服务 systemctl 脚本存放在:/usr/lib/systemd/,
有系统(system)和用户(user)之分,像需要开机不登陆就能运行的程序,
还是存在系统服务里吧,即:/usr/lib/systemd/system 目录下
每一个服务以.service 结尾,一般会分为 3 部分:[Unit]、[Service] 和 [Install]

参考:

  1. http://blog.csdn.net/qq_14852397/article/details/71794574?locationNum=11&fps=1
  2. Linux 启动流程和服务管理 (init 和 systemd)

发表评论

电子邮件地址不会被公开。 必填项已用*标注