Systemctl命令
Systemctl是System control的缩写,是systemd最重要命令,systemd是 Linux 系统中负责初始化和管理服务的程序
1. 可用命令
通常systemctl都需要使用root权限,即加sudo;systemctl后面跟的服务文件即XXX.service一般在文件夹/etc/systemd/system/
下面,个人用户文件常在 ~/.config/systemd/user/
文件夹下
- systemctl restart [xxx.service]: 重启服务
- systemctl start [xxx.service]: 开启服务
- systemctl status [xxx.service]:查看服务状态
- systemctl reload [xxx.service]:重新加载服务的配置,且不重启,例如ssh,例如:
1
systemctl reload sshd
- systemctl enable [xxx.service]:开机自启动,例如:下面简单说说其它的命令: disable时取消引导时启用服务,is-enabled检查开机是否启动,list-units列出所有激活的单元,systemctl poweroff,reboot,hibernate相当于shutdown,之类的分别是关机、重启和休眠
1
systemctl enable httpd.service
2.XXX.service 文件的编写
一个 .service
文件需要按照 systemd 的配置文件格式来编写内容,这包括 [Unit]
、[Service]
和 [Install]
三个部分:
- [Unit] 部分:这部分包含了服务的描述信息(Description)、启动顺序(After、Before)、依赖关系(Requires)等信息。
- [Service] 部分:这部分定义了服务的类型(Type),以及启动服务时要执行的命令(ExecStart)等信息。
- [Install] 部分:这部分指定了服务的启用目标,例如
WantedBy=multi-user.target
表示该服务将在多用户模式下被激活。
TODO:ADD more instance and cases.
3.远程使用
1 | systemctl status httpd -H root@192.168.0.12 |
-H
选项,指定远程主机的用户名和密码,上述所有systemctl命令都可以用于通过systemctl命令本身管理远程主机。这将使用ssh与远程主机进行通信。
4.其它systemd命令
- systemctl:这是 systemd 的核心命令,用于控制和管理 systemd 系统和服务管理器。它可以用来启动、停止、重启服务,以及检查服务的状态等。
- journalctl:这个命令用于查询和显示系统的日志信息。它非常强大,可以按时间、优先级或其他标准过滤日志。
- hostnamectl:此命令用于更改系统的主机名,也可以用来设置系统的各种配置,如时区、网络设置等。
- timer:用于管理系统的定时器,可以创建、列出、删除或启用/禁用定时器。
- target:用于管理 init 目标,可以通过它切换系统的运行级别。
- startup-net:用于启动网络服务。
- startup-tasks:用于启动任务服务。
- bootchart:用于生成系统启动图表,帮助分析启动过程中的性能瓶颈。
参考:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Min的博客!
评论