systemctl是Linux中管理服务的核心工具,支持查看状态、启停服务、设置开机自启、重启/重载配置及列出服务等操作。

如果您在Linux系统中需要管理服务的启动、停止、重启或查看状态,systemctl是systemd初始化系统的核心管理工具。以下是常用操作的具体解析:
一、查看服务状态
通过systemctl status命令可以实时获取服务的运行状态、最近日志、启用情况及依赖关系,便于快速判断服务是否正常运行。
1、在终端中输入:systemctl status sshd(以sshd为例,可替换为任意服务名)。
2、观察输出中的“Active:”字段,若显示active (running)表示服务正在运行;若为inactive (dead)则表示已停止。
3、按q键退出状态查看界面。
二、启动与停止服务
使用start和stop子命令可对服务进行即时启停操作,该操作不影响服务的开机自启设置。
1、启动指定服务:systemctl start nginx。
2、停止指定服务:systemctl stop nginx。
3、验证操作结果:systemctl is-active nginx,返回active或inactive。
三、启用与禁用开机自启
enable和disable命令用于配置服务在系统引导时是否自动启动,修改的是单元文件的软链接状态。
1、设置服务开机自启:systemctl enable httpd。
2、取消服务开机自启:systemctl disable httpd。
3、检查是否已启用:systemctl is-enabled httpd,返回enabled或disabled。
四、重启与重载服务配置
restart会先停止再启动服务,适用于配置变更后需完全刷新进程;reload仅通知服务重新读取配置文件,不中断运行。
1、完整重启服务:systemctl restart rsyslog。
2、仅重载配置(如修改了/etc/rsyslog.conf):systemctl reload rsyslog。
3、若服务不支持reload,执行该命令将无响应或提示Failed to reload unit: Job type reload is not supported。
五、列出所有服务及其状态
list-units命令可展示当前已加载的服务单元,配合--type=service和--all参数可全面掌握系统服务概况。
1、列出所有已激活的服务:systemctl list-units --type=service --state=active。
2、列出所有已安装但未激活的服务:systemctl list-units --type=service --state=inactive。
3、查看所有服务(含失败、未加载等状态):systemctl list-units --type=service --all。










