Chinaunix首页 | 论坛 | 博客
  • 博客访问: 227448
  • 博文数量: 149
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1127
  • 用 户 组: 普通用户
  • 注册时间: 2014-09-26 15:53
个人简介

喷泉之所以漂亮,是因为她有压力;瀑布之所以壮观,是因为她没退路。

文章分类

全部博文(149)

文章存档

2016年(25)

2015年(124)

我的朋友

分类: Android平台

2016-01-07 15:12:16

services 是一些由init 启动 和 重新(如果有需要)启动的程序,当然这些程序如果是存在的。

每一个service格式如下:

service [ ]*

  ...

例如:

1

 service ppp /system/bin/pppd call gprs
     user root
     group system radio
     disabled
     oneshot

2

service mtpd /system/bin/mtpd
    socket mtpd stream 600 system system
    user vpn
    group vpn net_admin net_raw
    disabled
    oneshot

options 是service的修饰符,用来告诉init 怎样及何时启动service。一共有如下几种:

1、disableds

这个服务不能通过启动一类服务来启动,只能单独以名字来启动。

2、socket    

创建一个名字为/dev/socket/的unix domain socket,并把它的fd传递给 加载的进程。的值是dgram或stream.


注意:在init.rc中使用socket时,是放在之后的。

init程序在运行过程中可能会设置几个特殊属性的值,来告诉其它程序它正在做什么。这些属性是:

(1)、init.action

当前正在执行的action的名字,如果没有,就是“”。

(2)、init.command

当前正在执行的command的名字,如果没有,就是“”。

(3)、init.svc.

一个服务的状态。可能的值有:“stopped”,"running","restarting"

 

3、user

在启动服务之前,把用户名切换到。默认是root

4、group [ ]*

在启动服务之前,把组名切换到。一个服务可能属于多个组。

5、capability [ ]+

Set linux capability before exec'ing this service

6、oneshot

服务之运行一次,退出后不再重启。

7、class

为服务设定一个类别,一个类别是中的服务可以同时启动或停止。如果没有这个属性,服务的默认类别是“default”

默认情况下,通过init启动的程 序都会把stdout和stderr定向到/dev/null。有时为了调试方便,可以通过Android的logwrapper程序启动某个程序。这 样,被启动程序stdout和stderr就被定向到了Android的LOG系统中,可以通过logcat来查看了。

例如:

service akmd /system/bin/logwraper /sbin/akmd

阅读(758) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~