Linux-systemd管理——简述常用命令及如何添加一个service

1. 常用命令

启动一个服务:systemctl start [service]

停止服务:systemctl stop [service]

启用服务在系统启动时自动启动:systemctl enable [service]

禁止服务在系统启动时自动启动:systemctl disable [service]

查看服务的状态:systemctl status [service]

查看服务是否自启动:systemctl is-enabled [service]

重新启动一个服务:systemctl restart [service]

重新加载服务的配置而不重新启动它:systemctl reload [service]

屏蔽服务,关闭自启动且手动也无法启动:systemctl mask [service]

去屏蔽服务:systemctl unmask [service]

更改默认系统目标(运行级别):systemctl set-default [target]

列出所有已安装的单元文件及其状态:systemctl list-unit-files

列出特定单元的依赖关系:systemctl list-dependencies [unit]

列出所有活动套接字:systemctl list-sockets

列出所有活动的 systemd 作业:systemctl list-jobs

显示所有已加载和活动的 systemd 单元的状态:systemctl list-units

查看当前所有不在活动的服务:systemctl list-units --type=service --state=inactive

systemctl list-dependencies --all sshd.service 查看sshd服务的所有依赖

systemctl poweroff 关闭系统、切断电源

systemctl halt 仅CPU停止工作

systemctl suspend 暂停系统

systemctl hibernate 系统休眠

2. 介绍

systemd架构是作为所有进程的父进程,以PID为1一直运行在Linux系统中,作为所有进程的父进程,涵盖了Linux操作系统中绝大多数操作,比如用户登陆(loginctl),设备挂载,日志采集(journalctl),网络管理(networkctl)等,以unit file为基本单位。

3. unit自启动管理

systemd服务添加到/lib/systemd/system/目录下,但初始化过程中 systemd 只执行/etc/systemd/system 目录里面的配置文件。

当执行systemctl enable rsyslog.service,设定某个服务自动启动时,会在/etc/systemd/system 目录下创建软链接文件,软链接的指向便是/lib/systemd/system/下的service,达到开机启动的目的,而当disable时,便会删除这个软链接文件,便不会再开机启动。

这里也可以通过将根文件系统镜像挂载到本地,ln -s手动创建软链接到/etc/systemd/system,实现开机自启动

4. 实战-system添加一个service

  1. /lib/systemd/system目录下创建drop_cache.service
[Unit]
Description=/etc/drop_cache.sh Compatibility
After=network.target

[Service]
WorkingDirectory=/etc
Type=simple
ExecStart=/etc/drop_cache.sh
Restart=always

[Install]
WantedBy=multi-user.target
  1. /etc 目录创建drop_cache.sh
#!/bin/bash  
  
while true; do  
    sudo echo 1 > /proc/sys/vm/drop_caches  
    sudo echo 2 > /proc/sys/vm/drop_caches
    sudo echo 3 > /proc/sys/vm/drop_caches
    sleep 7200
done
  1. 更改权限
sudo chmod 777 /etc/drop_cache.sh
sudo chmod 777 /lib/systemd/system/drop_cache.service
  1. 启动服务
sudo systemctl enable drop_cache
sudo systemctl damon-reload
sudo systemctl start drop_cache
sudo systemctl status drop_cache
  1. 查看服务状态

需要为running

dmesg | grep drop

这个代表加入成功,正在运行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值