php中没有launch,了解LaunchDaemons

快速:

launchctl load -w ~/Library/LaunchAgents/xxx

以下是网上找的做个备份 但是没有找到命名规则

1 简单介绍

使用plist文件(一种xml格式的文件,全称为property list)来定义, 放入几个指定的目录,

具体目录的位置决定了这个plist对应的是一个Agent还是一个Daemon,

Agent和Daemon的唯一区别是他们的存放位置,以及为谁服务,

Agent只为当前登录的用户服务, Daemon则是为root或者指定的用户服务。

1.1 目录位置说明

~/Library/LaunchAgents

/Library/LaunchAgents

/Library/LaunchDaemons

/System/Library/LaunchAgents

/System/Library/LaunchDaemons

一般情况下,不需要去动/System下的agents或者daemons。

1.2 plist文件简单说明

一般关注几项主要的配置即可:

Label – 标志名称

Program – 运行的程序是哪个

RunAtLoad – 是否在加载的同时启动

Label

com.example.app

Program

/Users/Me/Scripts/cleanup.sh

RunAtLoad

以上是一个最简版的plist配置实例

2 操作

plist只是配置,要执行这些配置,需要使用launchctl命令, 它运行你罗列信息, 加载,卸载,启动和关闭agents或者daemons

2.1 获取信息

sudo launchctl list

返回结果类似于:

1230 – com.apple.speech.speechsynthesisd

353 – com.apple.security.cloudkeychainproxy3

255 – com.apple.secd

– 0 com.apple.sbd

第一列表示进程号,如果有在结果中罗列,但没有数字而只是一个横线,标志虽然已经loaded, 但没有运行;

第二列是上次退出的状态号(the last exit code), 0表示成功,正数表示错误退出, 负数表示收到信号后退出。

2.2 加载或者卸载(load / unload)

launchctl load ~/Library/LaunchAgents/com.example.app.plist

launchctl load -F ~/Library/LaunchAgents/com.example.app.plist // 如果被disabled的话, 强制启动

例如Jenkins:

Start Jenkins:

sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

Stop Jenkins:

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

2.3 启动或者停止(start/stop)

agents或者daemons可以加载但不启动,所以,事后可以单独启动或者关闭:

launchctl start com.example.app

launchctl stop com.example.app

3 References

Daemons and Agents – 手册, 太jm详细了,就是看着挺繁琐…

What is launchd? – 说明简单明了,较全面

Mac OS X: Launchd Is Cool

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值