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

时间:2023-11-23 18:42:50

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

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

service命令

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

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

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

基本语法

 service 服务名称 [操作]

操作说明

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

使用举例

 [root@localhost ~]# service sshd status
Redirecting to /bin/systemctl status sshd.service
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since 四 -- :: CST; days ago
Docs: man:sshd()
man:sshd_config()
Main PID: (sshd)
CGroup: /system.slice/sshd.service
└─ /usr/sbin/sshd -D 7月 :: localhost.localdomain sshd[]: Server listening on :: port .
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
[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。

基本语法

 chkconfig [选项] [on/off]

选项说明

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

使用举例

 [root@localhost ~]# chkconfig --list

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

systemctl命令

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

基本语法

 systemctl [选项]

选项说明

管理某个服务:

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

查看系统服务:

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

电源管理:

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

使用举例

 [root@localhost ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since 四 -- :: CST; days ago
Docs: man:sshd()
man:sshd_config()
Main PID: (sshd)
CGroup: /system.slice/sshd.service
└─ /usr/sbin/sshd -D 7月 :: localhost.localdomain sshd[]: Server listening on :: port .
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
7月 :: localhost.localdomain sshd[]: Accepted password for root from 192.168.35.1 port ssh2
[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的相关信息。

最后是输出的日志信息。