Linux命令——systemctl
目录
说明
systemctl
命令用于管理 systemd 系统和服务管理器。它允许用户控制系统服务的启动、停止、重启、启用、禁用等操作,以及查看服务的状态和日志。
语法
|
|
选项
-t, --type <单元类型>
:指定要操作的单元类型,如 service、socket、target 等。-H, --host <主机>
:指定要操作的远程主机。-a, --all
:显示所有单元。--state <状态>
:按状态过滤单元。--failed
:仅显示失败的单元。--no-pager
:禁止使用分页器显示输出。-l, --full
:显示完整的输出信息。-p, --property=<属性>
:显示指定属性的值。-q, --quiet
:静默模式,减少输出信息。--version
:显示版本信息。
简单示例
- 启动一个服务:
1
systemctl start serviceName
实例
-
查看所有正在运行的服务:
1
systemctl list-units --type=service --state=running
-
启动一个服务:
1
systemctl start serviceName
-
停止一个服务:
1
systemctl stop serviceName
-
重启一个服务:
1
systemctl restart serviceName
-
查看一个服务的状态:
1
systemctl status serviceName
这些示例展示了 systemctl
命令在 Linux 中的基本用法和输出格式,以及常用选项的作用。systemctl
是管理 systemd 服务的主要工具,在系统管理和维护中起着重要作用。
systemctl & service
systemctl
和 service
是 Linux 系统中用于管理系统服务的两个命令,它们在不同版本的 Linux 发行版中扮演着不同的角色。以下是它们之间的主要区别:
systemctl
- 现代性:
systemctl
是 systemd 系统和服务管理器的一部分,它在较新的 Linux 发行版中(如 Fedora、Debian、Ubuntu 15.04+、CentOS 7+)中被广泛使用。 - 功能丰富:
systemctl
提供了更丰富的功能,包括启动、停止、重启、查看状态、查看日志、管理服务依赖关系等。 - 并发操作:
systemctl
支持并发操作,这意味着你可以同时启动、停止或重启多个服务。 - 目标状态:
systemctl
允许你设置服务的目标状态(例如,启动、停止、禁用、启用),这会影响服务在系统启动时的行为。 - 单元文件:
systemctl
使用单元文件(通常是.service
文件)来定义服务,这些文件包含了服务的配置信息。 - 系统状态:
systemctl
提供了systemctl status
命令来查看系统的整体状态,包括所有服务的状态。
service
- 传统性:
service
是一个较旧的命令,它在许多传统的 Linux 发行版中(如 CentOS 6、Debian Jessie 等)中被使用。 - 功能有限:
service
的功能相对有限,主要用于启动、停止和重启服务。 - 单任务操作:
service
不支持并发操作,每次只能对一个服务执行一个操作。 - 配置文件:
service
使用配置文件(通常是/etc/init.d/
目录下的脚本)来管理服务。 - 系统状态:
service
没有提供查看系统整体状态的命令,通常需要查看/var/run
或/var/log
目录下的文件来获取服务状态。
使用建议
- 如果你使用的是较新的 Linux 发行版,建议使用
systemctl
,因为它提供了更现代和强大的功能。 - 如果你使用的是较旧的发行版,可能需要使用
service
,但随着系统升级,建议迁移到使用systemctl
。
在实际使用中,你可以根据自己的需求和系统环境选择合适的命令。如果你不确定应该使用哪个命令,可以查看你的系统默认使用的是 systemd
还是 SysVinit
(后者通常使用 service
)。在大多数现代系统中,你可以通过运行 ps -p 1
来检查,如果输出显示 systemd:1
,那么你的系统使用的是 systemd
。
收录于 合集・Linux 6