linux运维之通过systemctl管理服务


本文摘自PHP中文网,作者齐天大圣,侵删。

自centOS7后,新增了一个管理服务的命令――systemctl,通过这个命令可以非常方便的管理系统上的服务。

通过systemctl开启、关闭服务

下面列出关于服务的开启、关闭相关选项

  • start 开启服务

  • stop 关闭服务

  • restart 重启服务

  • status 查看服务状态

  • reload 重新载入配置文件(不关闭服务)

  • enable 开机自启动该服务

  • disable 关闭开机自启动

下面通过案例来学习

1

2

3

4

5

6

7

8

9

10

# 查看服务运行状况

# systemctl status atd

● atd.service - Job spooling tools

   Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled)

   Active: active (running) since Sat 2020-11-07 16:20:59 CST; 3 days ago

 Main PID: 3002 (atd)

   CGroup: /system.slice/atd.service

           └─3002 /usr/sbin/atd -f

Nov 07 16:20:59 iz8vb626ci0aehwsivxaydz systemd[1]: Started Job spooling tools.

Nov 07 16:20:59 iz8vb626ci0aehwsivxaydz systemd[1]: Starting Job spooling tools...

通过上面显示的信息,我们可以获取很多信息。从第二行Loaded,出现了enabled表示该服务开机自启动。从第三行的running得知该服务正在运行中。

下面再来演示关闭、启动服务

1

2

# systemctl stop atd

# systemctl start atd

关于服务的运行状况,除了常见的running、dead等,还有一些,下面列出

  • active(running) 正在运行

  • active(waiting):等待执行(等其他服务执行后,再执行)

  • active(exited):仅执行一次就正常结束的服务

  • inactive(dead):服务未启动

另外,关于服务开机是否启动也有几个选项:

  • enable :开机启动

  • disable:开机不启动

  • static:开机不能自启动,但能被其他自启动的服务启动

  • mask:无论如何也不会启动,该服务已被强制注销

通过systemctl观察系统上服务

通过systemctl可以查看目前有哪些服务正在运行,也可以查看系统上所有的服务(包括未启动的),还可以查看某一类型的服务。

list-units 列出当前所有启动的服务,若没有使用任务选项,则默认使用该选项。加上-a则显示所有,包括未启动的服务

--type=TYPE 列出某一类型的服务

下面看演示内容

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

# 列出系统所有正在运行的服务

# systemctl

  UNIT                                                     LOAD      ACTIVE SUB       DESCRIPTION

  proc-sys-fs-binfmt_misc.automount                        loaded    active running   Arbitrary Executable File Formats File System Automoun

  sys-devices-pci0000:00-0000:00:03.0-virtio0-net-eth0.device loaded    active plugged   Virtio network device

  sys-devices-pci0000:00-0000:00:04.0-virtio1-virtio\x2dports-vport1p1.device loaded    active plugged   /sys/devices/pci0000:00/0000:00:04.

  ……

   

# 列出系统正在运行的service类型的服务

# systemctl --type=service

   UNIT                               LOAD      ACTIVE SUB     DESCRIPTION

  aegis.service                      loaded    active running LSB: aegis update.

  aliyun.service                     loaded    active running aliyun-assist

  atd.service                        loaded    active running Job spooling tools

  auditd.service                     loaded    active running Security Auditing Service

# 列出系统上所有服务,包括未运行的

# systemctl -a

……

通过systemctl管理不同的操作环境(target unit)

在centos7中,有非常多个target unit,但这里我们只要知道几个常用的target unit,下面列出常用的target unit:

  • graphical.target 图形模式

  • multi-user.target 文本模式

  • rescue.target 一般救援模式

  • emergency.target 紧急救援模式

接下来再看如何查看系统默认的操作环境,以及如何去修改操作环境。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

systemctl [选项] [unit.target]

[选项]

  get-default:查看系统默认操作环境

  set-default:设置系统默认操作环境

   

# 查看默认的操作环境

# systemctl get-default

multi-user.target

# 重新设置新的默认操作环境

# systemctl set-default graphical.target

Removed symlink /etc/systemd/system/default.target.

Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.

# systemctl get-default

graphical.target

以上就是linux运维之通过systemctl管理服务的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

Linux下禁止上传目录执行php脚本

Linux创建文件夹命令是什么

Linux怎么启动apache服务器

Linux通过端口转发来实现访问内网服务的图文步骤详解

Linux中find命令用法详解

Linux查看当前登录的用户名是什么

如何处理能 ping 通但端口不通时端口可用性探测

怎么查看Linux的版本信息

使用installcloudassistant为一台或多台实例安装云助手客户端

Linux卸载jdk、rpm命令、rm命令参数方法

更多相关阅读请进入《Linux》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...