服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是 Linux 中非常重要的知识点。
基础命令
# 启动systemctl start [服务名]# 停止systemctl stop [服务名]# 重启systemctl restart [服务名]# 开机启动systemctl enable [服务名]# 开机不启动systemctl disable [服务名]# reload:不关闭 unit 的情况下,重新载入配置文件,让设置生效。systemctl reload [服务名]# 刷新socket# 解释为重新加载 systemd 程序的配置文件。而所有的 unit 配置文件都是作为 systemd 程序的配置文件存在的systemctl daemon-reload# 查询服务状态systemctl status [服务名]# is-active:目前有没有正在运行中。# is-enabled:开机时有没有默认要启用这个 unit。# kill :不要被 kill 这个名字吓着了,它其实是向运行 unit 的进程发送信号。systemctl kill [服务名]# 显示全部服务systemctl show# 注销; 注销 unit,注销后你就无法启动这个 unit 了。systemctl mask [服务名]# unmask:取消对 unit 的注销。systemctl unmask [服务名]# 查看有多少服务systemctl list-unit-files# 查看加载失败的服务systemctl --failed# 系统关机sudo systemctl poweroff# 重新开机sudo systemctl reboot# 进入暂停模式sudo systemctl suspend# 进入休眠模式sudo systemctl hibernate# 强制进入救援模式sudo systemctl rescue# 强制进入紧急救援模式sudo systemctl emergency
简介
目录
- Centos
/usr/lib/systemd/system - Ubuntu
/etc/systemd/system
类型
主要有四种类型文件.mount,.service,.target,.wants
.mount文件
.mount文件定义了一个挂载点,[Mount]节点里配置了What,Where,Type三个数据项 等同于以下命令:
mount -t hugetlbfs /dev/hugepages hugetlbfs
.service文件
.service文件定义了一个服务,分为[Unit],[Service],[Install]三个小节
[Unit]Description:描述,After:在network.target,auditd.service启动后才启动ConditionPathExists: 执行条件[Service]EnvironmentFile:变量所在文件ExecStart: 执行启动脚本Restart: fail时重启[Install]Alias:服务别名WangtedBy: 多用户模式下需要的
.target文件
.target定义了一些基础的组件,供.service文件调用
.wants文件
.wants文件定义了要执行的文件集合,每次执行,.wants文件夹里面的文件都会执行
