当前位置: 首页 > news >正文

Linux---systemctl

1. systemctl命令

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启。

能够被systemctl管理的软件,一般也称之为:服务

语法:systemctl start | stop | status | enable | disable 服务名

start 启动;stop 关闭;status 查看状态;enable 开启开机自启;disable 关闭开机自启

系统内置的服务比较多,比如:

NetworkManager,主网络服务

network,副网络服务

firewalld,防火墙服务

sshd,ssh服务(FinalShell远程登录Linux使用的就是这个服务)

除了内置的服务以外,部分第三方软件安装后也可以以systemctl进行控制:

yum install -y ntp,安装ntp软件

可以通过ntpd服务名,配合systemctl进行控制

yum install -y httpd,安装apache服务器软件

可以通过httpd服务名,配合systemctl进行控制

2. systemd

Systemd 中 d 是守护进程(daemon)的缩写。 Systemd 这个名字的含义,就是守护整个系统。

Systemd 并不是一个命令,而是一组命令,systemctl 是 Systemd 的主命令,用于管理系统。

systemd-analyze命令用于查看启动耗时。

hostnamectl命令用于查看当前主机的信息。

localectl命令用于查看本地化设置。

timedatectl命令用于查看当前时区设置。

loginctl命令用于查看当前登录的用户。

部分软件安装后没有自动集成到systemctl中,需要手动添加。

要将安装好的软件集成到systemctl中,需要遵循以下步骤:

  1. 创建一个 systemd 服务配置文件:在 /etc/systemd/system/ 目录下创建一个自定义的服务配置文件,例如 my-service.service 。

  2. 编辑服务配置文件:编辑刚才创建的服务配置文件,配置服务的运行参数。一个简单的服务配置文件示例如下:

    vim /etc/systemd/system/my-service.service[Unit]
    Description=My Service
    After=network.target[Service]
    Type=simple
    WorkingDirectory=/path/to/my/service
    ExecStart=/path/to/my/service/my-service-command
    Restart=always[Install]
    WantedBy=multi-user.target

    在上面的示例配置文件中,为服务定义了一个简单的描述,指定了它的启动类型就是simple(比如启动一个脚本、运行一个命令、调用一个二进制文件),指定了它的工作目录,指定了它的启动命令,并指定了它启动失败时应该执行的操作。

  3. 重新加载systemctl配置文件:执行命令systemctl daemonj-reload重新加载systemctl配置文件,使得新创建的服务配置文件生效。

  4. 启动服务:执行命令systemctl start my-service启动服务。

  5. 验证服务:执行命令systemctl status my-service查看服务的状态以及是否已经在系统中注册成功。

  6. 设置开机自启动:执行命令systemctl enable my-service设置开机自启动。

这些步骤完成之后,服务就已经在systemctl中完成了注册,并且能够在系统启动时自动启动。

其中项的含义:

- Unit- Description,服务的描述- Documentation,文档介绍- After,该服务要在什么服务启动之后启动,比如Mysql需要在network和syslog启动之后再启动
- Install- WantedBy,值是一个或多个Target,当前Unit激活时(enable)符号链接会放入/etc/systemd/system目录下面以Target名+.wants后缀构成的子目录中- RequiredBy,它的值是一个或多个Target,当前Unit激活(enable)时,符号链接会放入/etc/systemd/system目录下面以Target名+.required后缀构成的子目录中- Alias,当前Unit可用于启动的别名- Also,当前Unit激活(enable)时,会被同时激活的其他Unit
- Service- Type,定义启动时的进程行为。它有以下几种值。- Type=simple,默认值,执行ExecStart指定的命令,启动主进程- Type=forking,以 fork 方式从父进程创建子进程,创建后父进程会立即退出- Type=oneshot,一次性进程,Systemd 会等当前服务退出,再继续往下执行- Type=dbus,当前服务通过D-Bus启动- Type=notify,当前服务启动完毕,会通知Systemd,再继续往下执行- Type=idle,若有其他任务执行完毕,当前服务才会运行- ExecStart,启动当前服务的命令- ExecStartPre,启动当前服务之前执行的命令- ExecStartPost,启动当前服务之后执行的命令- ExecReload,重启当前服务时执行的命令- ExecStop,停止当前服务时执行的命令- ExecStopPost,停止当其服务之后执行的命令- RestartSec,自动重启当前服务间隔的秒数- Restart,定义何种情况 Systemd 会自动重启当前服务,可能的值包括always(总是重启)、on-success、on-failure、on-abnormal、on-abort、on-watchdog- TimeoutSec,定义 Systemd 停止当前服务之前等待的秒数- Environment,指定环境变量

http://www.lryc.cn/news/91095.html

相关文章:

  • 零钱兑换,凑零钱问题,从暴力递归到动态规划(java)
  • Vue登录界面精美模板分享
  • Linux设备驱动程序(二)——建立和运行模块
  • 【算法】单调栈问题
  • Hack The Box - 关卡Dancing
  • 【软件设计与体系结构】 软件体系结构风格
  • detectron2 使用教程
  • 哈希表常用数据结构
  • Java字节流
  • arm3399主板-使用ubuntu20.04搭建LVS-DR(netplan)
  • Go中同/异步与锁的应用~~sync包
  • Flask知识点2
  • R语言生物群落(生态)数据统计分析与绘图(从数据整理到分析结果展示)
  • 代码随想录训练营Day58| 739. 每日温度 496.下一个更大元素 I
  • 设计模式-命令模式
  • 软考——下午题部分,例题一,二,三,六
  • 关于render: h => h(App)的解释
  • flask实现简易图书管理系统
  • 2021 年全国大学生物联网设计竞赛(华为杯)全国总决赛获奖名单
  • 操作系统复习2.3.5-管程
  • List Set Map Queue Deque 之间的区别是什么?
  • unity行为决策树实战详解
  • Spring学习记录
  • 模板方法-
  • [Kubernetes] - RabbitMQ学习
  • swagger页面 doc.html出不来,swagger-ui/index.html能出来
  • IEEE802.3和IEEE802.11的分类(仅为分类)
  • c# cad二次开发通过获取excel数据 在CAD绘图,将CAD属性导出到excel
  • LLM之高性能向量检索库
  • 实体类注解