欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux软件安装——服务管理的命令

程序员文章站 2022-07-27 15:03:06
Linux软件安装——服务管理的命令 摘要:本文主要学习了Linux系统中服务管理的命令。 service命令 service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。 service命令本身是一个shell脚本,它在/ ......

linux软件安装——服务管理的命令

摘要:本文主要学习了linux系统中服务管理的命令。

service命令

service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。

service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。

在centos 7版本以后,service命令可以被systemctl命令取代。

基本语法

1 service 服务名称 [操作]

操作说明

1 start:启动指定服务。
2 stop:停止指定服务。
3 restart:重启指定服务。
4 status:查看指定服务指定服务。

使用举例

 1 [root@localhost ~]# service sshd status
 2 redirecting to /bin/systemctl status  sshd.service
 3 ● sshd.service - openssh server daemon
 4    loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
 5    active: active (running) since 四 2019-07-18 23:58:07 cst; 4 days ago
 6      docs: man:sshd(8)
 7            man:sshd_config(5)
 8  main pid: 1474 (sshd)
 9    cgroup: /system.slice/sshd.service
10            └─1474 /usr/sbin/sshd -d
11 
12 7月 18 23:58:07 localhost.localdomain sshd[1474]: server listening on :: port 22.
13 7月 18 23:58:25 localhost.localdomain sshd[1577]: accepted password for root from 192.168.35.1 port 2561 ssh2
14 7月 19 05:58:26 localhost.localdomain sshd[2526]: accepted password for root from 192.168.35.1 port 4203 ssh2
15 7月 19 07:49:06 localhost.localdomain sshd[2863]: accepted password for root from 192.168.35.1 port 1072 ssh2
16 7月 19 10:31:53 localhost.localdomain sshd[3554]: accepted password for root from 192.168.35.1 port 13890 ssh2
17 7月 21 07:56:32 localhost.localdomain sshd[11737]: accepted password for root from 192.168.35.1 port 2852 ssh2
18 7月 21 22:27:13 localhost.localdomain sshd[13927]: accepted password for root from 192.168.35.1 port 11588 ssh2
19 7月 22 13:05:22 localhost.localdomain sshd[17236]: accepted password for root from 192.168.35.1 port 3655 ssh2
20 7月 23 00:15:46 localhost.localdomain sshd[18858]: accepted password for root from 192.168.35.1 port 9576 ssh2
21 7月 23 01:12:35 localhost.localdomain sshd[19203]: accepted password for root from 192.168.35.1 port 10673 ssh2
22 [root@localhost ~]#

chkconfig命令

chkconfig命令用来管理开机启动项,但设置开机启动时需要指定运行级别。

在centos 7版本以后,chkconfig命令可以被systemctl命令取代。

单元文件

一个单元配置文件可以描述如下内容之一:系统服务(.service)、挂载点(.mount)、sockets(.sockets)、系统设备(.device)、交换分区(.swap)、文件路径(.path)、启动目标(.target)、由systemd管理的计时器(.timer)。

使用systemctl控制单元时,通常需要使用单元文件的全名,包括扩展名(例如sshd.service)。但是有些单元可以在systemctl中使用简写方式:

如果无扩展名,systemctl默认把扩展名当作.service。例如sshd等价于sshd.service。

挂载点会自动转化为相应的.mount单元。例如/home等价于home.mount。

设备会自动转化为相应的.device单元。例如/dev/sda2等价于dev-sda2.device。

基本语法

1 chkconfig [选项] [on/off]

选项说明

1 --list 单元名称:查询系统单元运行级别信息,不指定则显示全部系统单元。
2 --level 运行级别:指定操作的运行级别,不指定级别时默认为2345级别。

使用举例

 1 [root@localhost ~]# chkconfig --list
 2 
 3 注意:该输出结果只显示 sysv 服务,并不包含原生 systemd 服务。sysv 配置数据可能被原生 systemd 配置覆盖。 
 4       如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。
 5       欲查看对特定 target 启用的服务请执行
 6       'systemctl list-dependencies [target]'。
 7 
 8 netconsole         0:关    1:关    2:关    3:关    4:关    5:关    6:关
 9 network            0:关    1:关    2:开    3:开    4:开    5:开    6:关
10 [root@localhost ~]#

systemctl命令

在centos 7以后,systemctl命令用来设置系统服务,它融合之前service和chkconfig的功能于一体,使用它可以永久性或只在当前会话中启用/禁用服务。

基本语法

1 systemctl [选项]

选项说明

管理某个服务:

 1 start 服务名称:立刻启动服务。
 2 stop 服务名称:立刻关闭服务。
 3 restart 服务名称:立刻关闭后启动服务。
 4 reload 服务名称:不关闭服务的情况下,重新载入配置文件,让设置生效。
 5 enable 服务名称:设置下次开机时,服务会被启动。
 6 disable 服务名称:设置下次开机时,服务不会被启动。
 7 is-active 服务名称:检查服务是否正在运行中。
 8 is-enable 服务名称:检查服务是否在开机时默认启用。
 9 status 服务名称:显示服务状态,会列出有没有正在执行、开机时是否启动等信息。
10 kill 服务名称:向运行服务的进程发送信号。
11 show 服务名称:列出服务的配置。
12 mask 服务名称:注销服务,注销后你就无法启动这个服务了。
13 unmask 服务名称:取消对服务的注销。
14 list-dependencies 服务名称:查看服务的依赖。

查看系统服务:

1 --type=type:只查看某个类型的单元。
2 list-units:列出当前已经启动的单元(相当于不带任何参数执行systemctl命令),如果添加-all会同时列出没有启动的单元。
3 list-units --type=service:列出当前已经启动的服务(相当于不带任何参数执行systemctl命令),如果添加-all会同时列出没有启动的服务。
4 list-unit-files:根据/lib/systemd/system/目录内的文件列出所有的单元。
5 list-unit-files --type=service:根据/lib/systemd/system/目录内的文件列出所有的服务。
6 –failed:列出执行失败的单元。
7 –failed --type=service:列出执行失败的服务。

电源管理:

1 reboot:重启。
2 poweroff:退出并关闭电源。
3 suspend:待机。
4 hibernate:休眠。
5 hybrid-sleep:同时休眠到硬盘并待机。

使用举例

 1 [root@localhost ~]# systemctl status sshd
 2 ● sshd.service - openssh server daemon
 3    loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
 4    active: active (running) since 四 2019-07-18 23:58:07 cst; 4 days ago
 5      docs: man:sshd(8)
 6            man:sshd_config(5)
 7  main pid: 1474 (sshd)
 8    cgroup: /system.slice/sshd.service
 9            └─1474 /usr/sbin/sshd -d
10 
11 7月 18 23:58:07 localhost.localdomain sshd[1474]: server listening on :: port 22.
12 7月 18 23:58:25 localhost.localdomain sshd[1577]: accepted password for root from 192.168.35.1 port 2561 ssh2
13 7月 19 05:58:26 localhost.localdomain sshd[2526]: accepted password for root from 192.168.35.1 port 4203 ssh2
14 7月 19 07:49:06 localhost.localdomain sshd[2863]: accepted password for root from 192.168.35.1 port 1072 ssh2
15 7月 19 10:31:53 localhost.localdomain sshd[3554]: accepted password for root from 192.168.35.1 port 13890 ssh2
16 7月 21 07:56:32 localhost.localdomain sshd[11737]: accepted password for root from 192.168.35.1 port 2852 ssh2
17 7月 21 22:27:13 localhost.localdomain sshd[13927]: accepted password for root from 192.168.35.1 port 11588 ssh2
18 7月 22 13:05:22 localhost.localdomain sshd[17236]: accepted password for root from 192.168.35.1 port 3655 ssh2
19 7月 23 00:15:46 localhost.localdomain sshd[18858]: accepted password for root from 192.168.35.1 port 9576 ssh2
20 7月 23 01:12:35 localhost.localdomain sshd[19203]: accepted password for root from 192.168.35.1 port 10673 ssh2
21 [root@localhost ~]# 

结果说明

首先是对服务的基本描述。

loaded描述操作系统启动时会不会启动这个服务。

enabled表示开机时启动。disabled表示开机时不启动。static表示服务不可以自己启动,不过可能会被其它的enabled的服务来唤醒。mask表示服务已经被强制注销,可通过systemctl unmask改回原来的状态。

启动该服务的配置文件路径为:/lib/systemd/system/prometheus.service。

active描述服务当前的状态和服务的启动时间。

active (running)表示服务正在运行中。inactive (dead)表示服务当前没有运行。active (exited)表示仅执行一次就正常结束的服务,目前并没有任何程序在系统中执行。active (waiting)表示服务正在执行当中,不过还再等待其他的事件才能继续处理。

docs提供了在线文档的地址。

main pid表示进程的id,接下来是任务的数量,占用的内存和cpu资源。

cgroup描述的是cgroup的相关信息。

最后是输出的日志信息。