Launchd

目录
  1.服务级别区分
  2.路径的区别
  3.实现过程
  4.名词解释
1.服务级别区分

区别:LaunchDaemon是系统级别的服务,LaunchAgents是用户级别的服务。

LaunchDaemons在开机时会加载。 

LaunchAgents在用户登录后才会加载。

所以我们采用Launch Daemon的方式运行exec程序。
2.路径的区别

区别:/System/Library和/Library和~/Library

/System/Library目录是存放Apple自己开发的软件。

/Library目录是系统管理员存放的第三方软件。

~/Library/是用户自己存放的第三方软件。
3.实现过程:在/System/Library/launchDaemons/ 目录下执行
1.sudo -s 
2.vim com.apple.process.plist
3.chown root com.apple.process.plist 设置权限

4.sudo launchctl load /Library/LaunchDaemons/ae_scan_mac.plist 执行

5.sudo launchctl unload /Library/LaunchDaemons/ae_scan_mac.plist 停止

6.sudo launchctl list 查看

Launchd_第1张图片
launchd.png
4.名词解释


1)Label(必选)

该项服务的名称。


2)ProgramArgument(必选)

指定可执行文件的路径和名称。


3)RunAtLoad(可选) 

标识launchd在加载完该项服务之后立即启动路径指定的可执行文件。默认值为false。设置为true即可实现开机运行脚本文件。


4)WorkingDirectory(可选)

运行可执行文件之前,指定当前工作目录的路径。


5)KeepAlive(可选) 

这个关键字可以用来控制是否让可执行文件持续运行,默认值为false,也就是说满足具体条件之后才启动。当设置值为ture时,表明无条件的开启可执行文件,并使之保持在整个系统运行周期内。


6)StartCalendarInterval(可选) 

该关键字可以用来设置定时执行可执行程序,可使用Month、Day、Hour、Minute等子关键字,它可以指定脚本在多少月、天、小时、分钟、星期几等时间上执行,若缺少某个关键字则表示任意该时间点,类似于Unix的Crontab计划任务的设置方式。


你可能感兴趣的:(Launchd)