要禁用系统服务,首先使用sudo systemctl disable 服务名称.service停止自动启动,如禁用蓝牙服务;若需立即终止运行则先执行sudo systemctl stop;为彻底阻止启动可使用sudo systemctl mask进行屏蔽;还可通过编辑服务单元文件添加ExecStartPre=/bin/false实现条件性禁用,并重载配置。

如果您希望停止某个系统服务的自动启动或完全禁用其运行,可以通过systemd服务管理工具进行操作。这类需求常见于优化系统性能或关闭不必要的后台服务。
本文运行环境:Dell XPS 13,Ubuntu 24.04
一、使用systemctl命令禁用服务
systemctl是systemd系统下的核心管理工具,可用于控制服务的启用与禁用状态。禁用服务后,该服务将不会在系统启动时自动运行。
1、打开终端,输入以下命令以禁用指定服务:sudo systemctl disable 服务名称.service。
2、例如要禁用蓝牙服务,可执行:sudo systemctl disable bluetooth.service。
3、系统会提示已移除服务的符号链接,表示禁用成功。
二、立即停止并禁用服务
有时需要在禁用服务的同时立即终止其当前运行的实例,避免服务继续占用资源。
1、先执行停止命令:sudo systemctl stop 服务名称.service。
2、再执行禁用命令:sudo systemctl disable 服务名称.service。
3、可通过 systemctl status 服务名称.service 检查服务状态,确认其处于“inactive”和“disabled”状态。
三、屏蔽服务以防止被其他服务激活
屏蔽服务是一种更彻底的禁用方式,它会创建一个指向/dev/null的符号链接,使服务无法被任何进程启动,包括其他依赖服务。
1、使用以下命令屏蔽服务:sudo systemctl mask 服务名称.service。
2、例如:sudo systemctl mask apache2.service 将完全阻止该服务启动。
3、若需恢复服务,必须先解除屏蔽:sudo systemctl unmask 服务名称.service。
四、修改服务单元文件实现条件性禁用
通过编辑服务的配置文件,可以设置服务仅在特定条件下启动,从而达到逻辑上的禁用效果。
1、使用文本编辑器打开服务单元文件:sudo systemctl edit --full 服务名称.service。
2、在[Service]段落中添加 ExecStartPre=/bin/false 可使服务启动前直接失败。
3、保存更改后运行 sudo systemctl daemon-reload 重新加载配置。










