常用的systemctl命令

  • 以sshd服务为例,列出常用systemctl命令:
  1. 启动sshd服务:systemctl start ssh.service
  2. 停止sshd服务:systemctl stop ssh.service
  3. 查看sshd服务状态:systemctl status ssh.service
  4. 重启sshd服务:systemctl restart ssh.service
  5. 设置开机自启动:systemctl enable ssh.service
  6. 禁止开机自启动:systemctl disable ssh.service
  7. 查看所有已经启动的服务:systemctl list-units --type=service
  8. 重新加载配置文件:systemctl daemon-reload

systemctl启动服务编写

Centos7的服务systemctl脚本存放在:/usr/lib/systemd/目录下,有系统(system)和用户(user)之分,一般需要开机不登录就能运行的程序,就存放在/usr/lib/systemd/system/目录下

每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install],以sshd为实例如下:

[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s[Install]
WantedBy=multi-user.target

[Unit]部分主要是对这个服务的说明,内容包括Description和After,Description 用于描述服务,After用于描述服务类别;

[Service]部分是服务的关键,是服务的一些具体运行参数的设置;

[Install]部分是服务安装的相关设置,可设置为多用户的;

配置文件详解

Unit
After 表示服务需要在***服务启动之后执行 无依赖
Before 表示服务需要在***服务启动之前执行 无依赖
Wants 弱依赖关系
Requires 强依赖关系 ***停止之后本服务也必须停止
Service
ExecStart 启动进程时执行的命令
ExecReload 重启服务时执行的命令
ExecStop 停止服务时执行的命令
ExecStartPre 启动服务之前执行的命令
ExecStartPost 启动服务之后执行的命令
ExecStopPost 停止服务之后执行的命令

所有的启动设置之前,都可以加上一个 连词号(-),表示"抑制错误", 即发生错误的时候,不影响其他命令的执行。比如,EnvironmentFile=-/etc/sysconfig/sshd(注意等号后面的那个连词号),就表示即使/etc/sysconfig/sshd文件不存在,也不会抛出错误。

type参数说明

simple(默认值) ExecStart字段启动的进程为主进程
forking ExecStart字段将以fork()方式启动,此时父进程将会退出,子进程将成为主进程
oneshot 类似于simple,但只执行一次,Systemd 会等它执行完,才启动其他服务
dbus 类似于simple,但会等待 D-Bus 信号后启动
notify 类似于simple,启动结束后会发出通知信号,然后 Systemd 再启动其他服务
idle 类似于simple,但是要等到其他任务都执行完,才会启动该服务。一种使用场合是为让该服务的输出,不与其他服务的输出相混合

KillMode参数说明

control-group(默认值) 当前控制组里面的所有子进程,都会被杀掉
process 只杀主进程
mixed 主进程将收到 SIGTERM 信号,子进程收到 SIGKILL 信号
none 没有进程会被杀掉,只是执行服务的 stop 命令。

Restart参数说明

no(默认值) 退出后不会重启
on-success 只有正常退出时(退出状态码为0),才会重启
on-failure 非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启
on-abnormal 只有被信号终止和超时,才会重启
on-abort 只有在收到没有捕捉到的信号终止时,才会重启
on-watchdog 超时退出,才会重启
always 不管是什么退出原因,总是重启

修改配置文件以后,需要重新加载配置文件,然后重新启动相关服务。

重新加载配置文件

systemctl daemon-reload

systemctl开机启动设置相关推荐

  1. centos——记录一次开机启动设置

    文章目录 设置oracle开机自启 设置java应用开机自启 设置xxljob-admin服务开机自启 设置nginx开机自启 mysql开机自启 开放指定端口 设置oracle开机自启 1.修改or ...

  2. Nginx+Center OS 7.2 开机启动设置(转载)

    centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度.关 ...

  3. centos7.5 supervisor +nginx 开机启动设置(实测最有效)以及出现问题思路

    都推荐使用yum命令安装(推荐主要是yum安装后一般都会帮你配置好了,下载解压和pip等安装可能需要自己配置相关的东西) 1.安装supervisor同时开机启动 su - #切换为root用户 # ...

  4. Windows XP/Vista 开机启动设置项

    ★注册表项: ⑴HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run ◎◎这个键值应该比较熟悉,常用的系统启动设置项,一般的 ...

  5. Asus Merlin开机启动设置与服务脚本编写

    2019独角兽企业重金招聘Python工程师标准>>> Asus Merlin可以编写服务脚本(放在/opt/etc/init.d/*),并设为开机启动,提供定制化的网络任务(如后台 ...

  6. MacOS redis开机启动设置

    2021年8月18日更新 新版M1 macmini 用下面的方法总出错,不知道是版本问题,还是软件问题,故更新了一版安装程序,结果可以自动实现redis系统驻留,开机启动,感觉不错,记录下. brew ...

  7. linux怎么用命令期启动ngrok,ngrok 开机启动设置

    1. 编写ngrok 启动脚本, /path/to/ngrokd -tlsKey=/path/to/server.key -tlsCrt=/path/to/server.crt -domain=&qu ...

  8. CentOS 7.x自定义开机启动设置

    一:概述 CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得以往系统服务的/etc/init.d/的启动脚本的方式就此改变,也大幅提高了系统服 ...

  9. linux开机启动项6个级别_linux开机启动设置的几种方法

    Linux开机自启动的几种方式: 1.手动配置在文件中加入启动命令 2.文件指向路径是/etc/init.d下的脚本文件 /etc/rc[0-6].d 0-6是linux操作系统的运行级别,运行run ...

  10. 笔记本电脑换完电池第一次开机启动设置

    dell笔记本电脑,Win10系统,电池时间长了,换完新电池之后一直不能直接开机,老是显示下面的界面,如下图: 我以为问题很大,上百度搜,百度说是可能固体硬盘坏了,吓死我了,心里想着换个电池还能把固体 ...

最新文章

  1. 数据结构和算法:(3)3.2线性表的链式存储结构
  2. Python defaultdict 模块和 namedtuple 模块
  3. 仰望众位Oracle大牛
  4. 加深Java基础,做了20道题选择题!简答题没做
  5. Mybatis的ResultMap的使用
  6. Qt知识点汇总——来自网络
  7. 设置input标签禁用_Vue造轮子 | input组件
  8. poj 2886 Who Gets the Most Candies?(线段树)
  9. UML中的6大关系(关联、依赖、聚合、组合、泛化、实现)
  10. Castle 开发系统文章
  11. 闲 鱼,进阶技巧,如何提高你的曝光量?
  12. Android设备新型恶意软件,融合银行木马、键盘记录器和移动勒索软件等功能
  13. 强大的Windows 10数字权利获取工具HWIDGEN
  14. 游戏开发学习路线——游戏引擎原理
  15. iOS -- 播放本地音频文件 (Swift)
  16. 一键激活windows系统与office(绿色无捆绑装机员激活工具)
  17. 线性代数入门指南:线性方程组
  18. 迁移学习在金融行业的应用探索
  19. PS 2019 Mac版 自学入门系列(三)——插入对象
  20. sonix c语言 pdf,松翰c语言(项目)例程(Sonix C language routines (project)).doc

热门文章

  1. 计算机如何打开无线网络适配器,如何解决网络适配器无法启动无线网卡的问题...
  2. 阿里云如何将一个域名解析到另一个域名上
  3. Excel条件格式使用小总结
  4. 移动端屏幕适配(750px设计稿)
  5. [Contrastive Learning] Improving Contrastive Learning by Visualizing Feature Transformation
  6. 浅谈ACL在校园网中的应用
  7. rsync --exclude或者--exclude-from的路径问题
  8. APP运营推广:新APP建设之后该怎么做好品牌运营?
  9. 营救公主的100种方法
  10. 使用pytorch实现LSTM自动AI作诗(藏头诗和首句续写)