Files
StudyDiary-20261009/60-Imports/64-AI/macOS 取消_停止_彻底删除后台服务(launchctl).md
CrazyJasonwell e97be9ac8c commit all
2026-10-09 22:06:40 +08:00

3.6 KiB
Executable File
Raw Blame History

macOS 取消/停止/彻底删除后台服务(launchctl)

macOS 取消 / 停止 / 彻底删除后台服务(launchctl)

macOS 的后台服务分两类:

  1. LaunchAgent 用户服务:仅当前登录用户运行,路径 ~/Library/LaunchAgents/

  2. LaunchDaemon 系统服务:开机就运行、所有用户生效,路径 /Library/LaunchDaemons/

⚠️ 禁止修改 /System/Library/ 下系统自带服务(com.apple.*),会系统崩溃。

一、先找到目标服务(必做第一步)

1. 列出所有运行中的服务

# 全部服务
launchctl list
# 过滤指定软件(替换 iscsictl/zerotier/xxx)
launchctl list | grep -i iscsi

输出第一列是 PID(有数字代表正在运行),第三列是服务 label(如 com.iscsi.iscsid)。

2. 查找服务 plist 配置文件

# 全局搜索iscsi相关plist
find /Library ~/Library -name "*iscsi*.plist"

二、3 种操作力度:临时停止 / 永久禁用 / 彻底删除

方式 1:临时停止当前运行的服务(重启后恢复)

# 格式 launchctl stop 服务label
launchctl stop com.iscsi.iscsid

方式 2:永久禁用(不删除文件,重启也不会自启,推荐临时取消)

旧版命令 unload -w(兼容所有 macOS)

# 用户级Agent(无需sudo)
launchctl unload -w ~/Library/LaunchAgents/xxx.plist

# 系统级Daemon(必须sudo)
sudo launchctl unload -w /Library/LaunchDaemons/com.iscsi.iscsid.plist

-w = write,写入禁用标记,永久不开机自启。

新版 macOS 10.11+ 标准命令 disable

# 用户服务禁用
launchctl disable gui/$(id -u)/com.iscsi.iscsid
# 系统服务禁用
sudo launchctl disable system/com.iscsi.iscsid

恢复启用把 disable 改成 enable 即可。

方式 3:彻底取消 + 删除服务(完全清除,再也不会启动)

完整流程(以 iscsi 服务举例):

  1. 停止运行
sudo launchctl stop com.iscsi.iscsid
  1. 从系统服务列表移除
sudo launchctl bootout system /Library/LaunchDaemons/com.iscsi.iscsid.plist
# 用户服务用这条:
launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/xxx.plist
  1. 删除硬盘上的配置文件(根治)
# 系统服务
sudo rm -f /Library/LaunchDaemons/com.iscsi.iscsid.plist
# 用户服务
rm -f ~/Library/LaunchAgents/xxx.plist
  1. 强制杀掉残留进程
pkill -f iscsid

三、针对你之前 iSCSI iscsictl 服务实操示例

# 1. 查看iscsi服务
launchctl list | grep iscsi
# 2. 临时停止
sudo launchctl stop com.iscsi.iscsid
# 3. 永久禁用开机自启
sudo launchctl unload -w /Library/LaunchDaemons/com.iscsi.iscsid.plist
# 4. 彻底删除服务(不再使用iSCSI时执行)
sudo launchctl bootout system /Library/LaunchDaemons/com.iscsi.iscsid.plist
sudo rm -f /Library/LaunchDaemons/com.iscsi.iscsid.plist
pkill -f iscsid

四、常见问题

  1. 文件无法删除 Operation not permitted 文件加了系统锁定 schg,先解锁:
sudo chflags noschg /xxx/xxx.plist

再执行删除命令。

  1. stop 后立刻自动重启 说明只停止没卸载,必须执行 unload -w 或 bootout 取消自启。

  2. 提示 could not find specified service plist 路径写错,先用 find 命令确认文件真实路径。

快速总结

  • 只想临时关掉:launchctl stop label

  • 永久不开机自启(保留文件):unload -w / launchctl disable

  • 彻底删除服务(完全取消):bootout + rm plist + 杀进程

(注:部分内容可能由 AI 生成)