Linux命令——systemctl
目录
说明
systemctl 命令用于管理 systemd 系统和服务管理器。它允许用户控制系统服务的启动、停止、重启、启用、禁用等操作,以及查看服务的状态和日志。
语法
|
|
选项
-t, --type <单元类型>:指定要操作的单元类型,如 service、socket、target 等。-H, --host <主机>:指定要操作的远程主机。-a, --all:显示所有单元。--state <状态>:按状态过滤单元。--failed:仅显示失败的单元。--no-pager:禁止使用分页器显示输出。-l, --full:显示完整的输出信息。-p, --property=<属性>:显示指定属性的值。-q, --quiet:静默模式,减少输出信息。--version:显示版本信息。
简单示例
- 启动一个服务:
1systemctl start serviceName
实例
-
查看所有正在运行的服务:
1systemctl list-units --type=service --state=running -
启动一个服务:
1systemctl start serviceName -
停止一个服务:
1systemctl stop serviceName -
重启一个服务:
1systemctl restart serviceName -
查看一个服务的状态:
1systemctl 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