【笔记】Launchctl服务管理器

前言

MacOS系统启动时,所有自启动的服务都由自启动脚本管理器负责管理,也就是可以通过安装或者卸载自启动脚本来自启或者防止服务的开机自启

安装服务

<plist>:.plist服务配置文件

1
2
sudo launchctl load <plist>
sudo launchctl load -w <plist>

卸载服务

1
2
sudo launchctl unload <plist> 
sudo launchctl unload -w <plist>

启用服务

<sshd>:.sshd服务程序

1
sudo launchctl enable <sshd>

禁用服务

1
sudo launchctl disable <sshd>

查看进程

1
sudo launchctl list

获取指定进程的详细信息

com.xxx.xxx:进程名

1
sudo launchctl list com.xxx.xxx

查看指定进程

<name>:进程名关键字

1
sudo launchctl list | grep <name>

获取指定进程PID

1
sudo launchctl list | grep <name> | awk '{print $1}'
通过进程PID结束指定进程
1
sudo launchctl list | grep <name> | awk '{print $1}' | xargs kill -9

配置文件位置

  • 系统应用代理配置文件:/System/Library/LaunchAgents/*.plist

  • 系统应用守护进程配置文件:/System/Library/LaunchDaemons/*.plist

  • 第三方应用代理配置文件:/Library/LaunchAgents/*.plist

  • 第三方应用守护进程配置文件:/Library/LaunchDaemons/*.plist

  • 用户代理配置文件:~/Library/LaunchAgents/*.plist

<app>:brew安装的软件包

  • Homebrew管理的软件包服务配置文件(Intel):/usr/local/Cellar/<app>/*.plist
  • Homebrew管理的软件包服务配置文件(Apple Silicon):/opt/homebrew/Cellar/<app>/*.plist

完成

参考文献

知乎——leejnull
博客园——findumars
CSDN——liaowenxiong
CSDN——沈蓁蓁
rakhesh.com