> Linux教程 > linux基础 >

systemd 的服务管理程序常用命令

Systemd 命令和 sysvinit 命令的对照表
 
Sysvinit 命令 Systemd 命令 备注
service foo start systemctl start foo.service 用来启动一个服务 (并不会重启现有的)
service foo stop systemctl stop foo.service 用来停止一个服务 (并不会重启现有的)。
service foo restart systemctl restart foo.service 用来停止并启动一个服务。
service foo reload systemctl reload foo.service 当支持时,重新装载配置文件而不中断等待操作。
service foo condrestart systemctl condrestart foo.service 如果服务正在运行那么重启它。
service foo status systemctl status foo.service 汇报服务是否正在运行。
ls /etc/rc.d/init.d/ systemctl list-unit-files --type=service 用来列出可以启动或停止的服务列表。
chkconfig foo on systemctl enable foo.service 在下次启动时或满足其他触发条件时设置服务为启用
chkconfig foo off systemctl disable foo.service 在下次启动时或满足其他触发条件时设置服务为禁用
chkconfig foo systemctl is-enabled foo.service 用来检查一个服务在当前环境下被配置为启用还是禁用。
chkconfig –list systemctl list-unit-files --type=service 输出在各个运行级别下服务的启用和禁用情况
chkconfig foo –list ls /etc/systemd/system/*.wants/foo.service 用来列出该服务在哪些运行级别下启用和禁用。
chkconfig foo –add systemctl daemon-reload 当您创建新服务文件或者变更设置时使用。
telinit 3 systemctl isolate multi-user.target (OR systemctl isolate runlevel3.target OR telinit 3) 改变至多用户运行级别。
 
 
 
systemctl 是最主要的工具。它融合 service 和 chkconfig 的功能于一体。你可以使用它永久性或只在当前会话中启用/禁用服务。
 
下面命令用于列出正在运行的服务或其他:
 
1
systemctl
更多详细信息请参考手册页(man systemctl)。systemd-cgls 以树形列出正在运行的进程。它可以递归显示给定控制组内容。详情请参阅 systemd-cgls 手册页。
 
如何启动/关闭、启用/禁用服务?
 
运行一个服务:
 
 
systemctl start foo.service
关闭一个服务:
 
 
systemctl stop foo.service
重启一个服务:
 
 
systemctl restart foo.service
显示一个服务(无论运行与否)的状态:
 
 
systemctl status foo.service
在开机时启用一个服务:
 
 
systemctl enable foo.service
在开机时禁用一个服务:
 
 
systemctl disable foo.service
检查一个服务是否是开机启用:
 
 
systemctl is-enabled foo.service; echo $?
0 表示已开机启用,1 表示没有开机启用。在 Fedora 17 中,除了返回值外,相应的 "enable" 或 "disable" 也会显示到标准输出。
 
更多详情请参看 systemctl 手册。

 
(责任编辑:IT)