Chinaunix首页 | 论坛 | 博客
  • 博客访问: 371958
  • 博文数量: 62
  • 博客积分: 1272
  • 博客等级: 中尉
  • 技术积分: 674
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-15 16:58
文章分类

全部博文(62)

文章存档

2017年(1)

2014年(16)

2012年(12)

2011年(27)

2010年(6)

我的朋友

分类: BSD

2011-11-06 15:49:46

类似UNIX下rc启动内容,mac os x下提供了两种自定义启动项的方法。
1、StartupItems:
startupItems启动内容位于/System/Library/StartupItems/或/Library/StartupItems目录下,每一个启动项对应一个目录,每个目录下对应2个文件,例如,添加静态路由,脚本的名字为AddRoutes,则目录结构为:

iMac:/Library root# cd /Library 

iMac:/Library root# ls -l 

--- Stuff Removed --- 

drwxr-xr-x 6 root wheel 204 Apr 6 13:22 StartupItems 

--- Stuff Removed --- 

 iMac:/Library root# cd StartupItems 

iMac:/Library/StartupItems root# ls -l 

drwxr-xr-x 4 root wheel 136 Apr 6 12:50 AddRoutes 

 iMac:/Library/StartupItems root# cd AddRoutes

 iMac:/Library/StartupItems/AddRoutes root# ls -l 

-rwxr-xr-x 1 root wheel 292 Apr 6 10:05 AddRoutes 

-rwxr-xr-x 1 root wheel 127 Apr 6 09:47 StartupParameters.plist



两个文件内容为:

iMac:/Library/StartupItems/AddRoutes root# cat AddRoutes 

#!/bin/sh # Set up static routing tables 

 # Roark Holz, Thursday, April 6, 2006 

 . /etc/rc.common 

 StartService () 

 ConsoleMessage "Adding Static Routing Tables"

 route add -net 192.168.3.0/24 192.168.0.180

 } 

 StopService () 

 return 0 

 RestartService () 

 return 0 

 RunService "$1"

 iMac:/Library/StartupItems/AddRoutes root# cat StartupParameters.plist 

 Description = "Add static routing tables"; 

 Provides = ("AddRoutes"); 

 Requires = ("Network"); 

 OrderPreference = "None"; 

}

2、使用LaunchDaemon。LaunchDaemon位于/System/Library/LaunchDaemons和/Library/LaunchDaemons,一般用户脚本在后者,每一个脚本对应一个.plist文件。以AddRoutes为例:




Label
net.routes.static
ProgramArguments

route
add
-net
10.170.0.0
10.120.0.25
255.255.0.0

RunAtLoad

ServiceDescription
Install static routes


StartupItems方法是一个过时的方法,但它可以指定启动顺序,launchdaemons方式无法指定启动顺序。
阅读(2028) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

kd98u92011-11-07 18:08:30

但它可以指定启动顺序