systemctl
是用于管理系统服务的命令行工具,常用于 Linux 系统中。提供了对系统服务(包括启动、停止、重启、启用、禁用等)的控制,以及对系统单元(units)的操作。
systemctl
的基本语法结构为:
systemctl [option] [command] [unit]
option
:选项,用于指定不同的操作。command
:命令,表示要对系统单元执行的操作(如启动、停止等)。unit
:系统单元的名称,可以是服务、套接字、设备等。启动服务:
systemctl start service-name
停止服务:
systemctl stop service-name
重启服务:
systemctl restart service-name
启用服务:
systemctl enable service-name
禁用服务:
systemctl disable service-name
systemctl
是 Systemd(一种系统和服务管理器)的一部分,在 Systemd 取代传统 init
系统(SysVinit)后成为系统服务管理的标准工具。systemctl
是管理系统服务的重要工具,提供对系统单元的灵活控制和管理。
systemctl
的高级语法和使用案例包括更多复杂的操作和功能,例如:
系统状态查看:
systemctl status
显示系统的当前状态,包括激活的单元、运行状态等信息。
查看特定服务日志:
journalctl -u service-name
查看特定服务的日志信息,了解服务的运行状态、问题等。
启动/停止多个服务:
systemctl start service1 service2
systemctl stop service1 service2
批量启动或停止多个服务。
启用/禁用多个服务:
systemctl enable service1 service2
systemctl disable service1 service2
批量启用或禁用多个服务的自启动。
切换系统 target:
systemctl isolate multi-user.target
切换系统运行的目标 target,如切换到多用户模式。
设置默认 target:
systemctl set-default graphical.target
设置系统默认启动的 target。
强制重载配置文件:
systemctl daemon-reload
强制重新加载配置文件,使更改生效。
重启到救援模式:
systemctl rescue
将系统重启到救援模式,用于修复系统问题。
重启到固件设置界面:
systemctl reboot --firmware-setup
将系统重启到固件设置界面。
systemctl --user start service-name
使用用户权限启动服务。对于 systemctl
的高级脚本和计划任务控制,可以使用 systemd
的单元文件(Unit files)来实现更复杂的任务控制和定时执行。
示例和说明:
systemd
单元文件进行高级脚本控制:编写自定义服务单元文件:
sudo nano /etc/systemd/system/my-script.service
在单元文件中定义服务:
示例单元文件 my-script.service
:
[Unit]
Description=My Custom Script
[Service]
Type=oneshot
ExecStart=/path/to/your/script.sh
[Install]
WantedBy=multi-user.target
重新加载 systemd
并启用服务:
sudo systemctl daemon-reload
sudo systemctl enable my-script.service # 标题
sudo systemctl start my-script.service
创建自定义的 systemd
服务单元,通过 systemctl
控制启动和停止,并在系统启动时自动运行。
systemd
的定时器实现计划任务控制:创建定时器单元文件:
sudo nano /etc/systemd/system/my-backup.timer
定义定时器内容:
示例定时器文件 my-backup.timer
:
[Unit]
Description=Run my backup script daily
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target
关联定时器和服务:
创建关联的服务单元文件 my-backup.service
,并在定时器中指定要执行的服务。
重新加载 systemd
并启用定时器:
sudo systemctl daemon-reload
sudo systemctl enable my-backup.timer
sudo systemctl start my-backup.timer
创建一个定时器,按照定义的日历计划(在这个示例中是每天)执行相关服务。
::: hljs-center
喜欢的话,请收藏 | 关注(?ω?)
……万一有趣的事还在后头呢,Fight!!(o-)尸~''☆ミ☆ミ……
:::