目录
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 查看
4.名词解释
1)Label(必选)
该项服务的名称。
2)ProgramArgument(必选)
指定可执行文件的路径和名称。
3)RunAtLoad(可选)
标识launchd在加载完该项服务之后立即启动路径指定的可执行文件。默认值为false。设置为true即可实现开机运行脚本文件。
4)WorkingDirectory(可选)
运行可执行文件之前,指定当前工作目录的路径。
5)KeepAlive(可选)
这个关键字可以用来控制是否让可执行文件持续运行,默认值为false,也就是说满足具体条件之后才启动。当设置值为ture时,表明无条件的开启可执行文件,并使之保持在整个系统运行周期内。
6)StartCalendarInterval(可选)
该关键字可以用来设置定时执行可执行程序,可使用Month、Day、Hour、Minute等子关键字,它可以指定脚本在多少月、天、小时、分钟、星期几等时间上执行,若缺少某个关键字则表示任意该时间点,类似于Unix的Crontab计划任务的设置方式。