创建守护进程的属性文件
来源:互联网 发布:python is 编辑:程序博客网 时间:2024/06/18 04:08
上一章说了人员和添加和删除守护进程,这章简单说说如何创建一个守护进程文件
守护进程文件是一个字典,苹果提供了key值(相关的key值,可以参考文档https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html#//apple_ref/doc/man/5/launchd.plist,有详细说明)我们只需要设置value就可以了,
常用的属性值
Label:
This required key uniquely identifies the job to launchd. 例如你的应用程序bundleID com.yourname.appname
KeepAlive:
This optional key is used to control whether your job is to be kept continuously running or to let demand and conditions control the invocation. The default is false and therefore only demand will start the job. The value may be set to true to unconditionally keep the job alive. Alternatively, a dictio-nary dictionary nary of conditions may be specified to selectively control whether launchd keeps a job alive or not. If multiple keys are provided, launchd ORs them, thus providing maximum flexibility to the job to refine the logic and stall if necessary. If launchd finds no reason to restart the job, it falls back on demand based invocation. Jobs that exit quickly and frequently when configured to be kept alive will be throttled to converve system resources.
这个属性指明启动程序后是否一直保持在后台,属性为BOOL值,设为NO,就可以在开机启动一次,然后就会自己退出
Program:
This key maps to the first argument of execvp(3). If this key is missing, then the first element of the array of strings provided to the ProgramArguments will be used instead. This key is required in the absence of the ProgramArguments key. 这个就是你应用程序的路径,指向包中的可执行文件 例如:~/Desktop/appName/Contents/MacOS/appName
LaunchOnlyOnce:
This optional key specifies whether the job can only be run once and only once. In other words, if the job cannot be safely respawned without a full machine reboot, then set this key to be true.设置了该值为YES,则只执行一次,只有在完全重新启动一次才会再执行。苹果给的一个简单例子:<dict> <key>Label</key> <string>com.example.exampled</string> <key>ProgramArguments</key> <array> <string>exampled</string> </array> <key>KeepAlive</key> <true/> </dict> </plist>
相关的属性值介绍:https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html#//apple_ref/doc/man/5/launchd.plist
这样我们就可以自己创建一个简单的守护进程了。
更多详细信息,可以阅读苹果的官方文档:https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html#//apple_ref/doc/uid/10000172i-SW7-BCIEDDBJ
- 创建守护进程的属性文件
- 守护进程的创建
- 守护进程的创建
- 守护进程的创建
- 守护进程的创建
- 设置守护进程的文件权限创建掩码
- 守护进程的创建步骤
- 守护(后台)进程的创建
- 创建守护进程的步骤
- 3、守护进程的创建
- 创建守护进程的步骤
- linux守护进程的创建
- 创建守护进程的步骤
- 后台守护进程的创建
- 守护进程的创建过程
- 【Linux】守护进程及守护进程的创建
- Hadoop守护进程的关键属性
- Linux下守护进程的创建
- ZF2 Session简单使用(Zend\Authentication\Storage\Session.php)
- 你的笑容价值百万
- Themes//布景主题,桌面主题(完)
- OCP-1Z0-053-V13.02-329题
- TDD项目流程规范
- 创建守护进程的属性文件
- memmove()与memcpy()的区别与实现
- ASP_Cookie
- 《30天自制操作系统》学习笔记--第7天
- POJ 2185 Milking Grid 二维kmp
- 7744问题
- C++ 静态存储区、栈和堆的区别(转载)
- HighCharts 详细使用及API文档说明
- Wireshark自定义协议RPUDPDL-同序号包统计插件