日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

android init.rc语法标准 .

發(fā)布時(shí)間:2025/4/5 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android init.rc语法标准 . 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Android 初始化語(yǔ)言由四大類聲明組成: 行為類(Actions), 命令類(Commands) ,服務(wù)類(Services), 選項(xiàng)類(Options).

? * 初始化語(yǔ)言以行為單位,由以空格間隔的語(yǔ)言符號(hào)組成。C 風(fēng)格的反斜杠轉(zhuǎn)義符可以用來(lái)插入空白到語(yǔ)言符號(hào)。雙引號(hào)也可以用來(lái)防止文本被空格分成多個(gè)語(yǔ)言符號(hào)。當(dāng)反斜杠在行末時(shí),作為折行符。

? * # 開(kāi)始( 前面允許有空格) 的行為注釋行。

? * ActionsServices 隱含聲明一個(gè)新的段落。所有該段落下CommandsOptions 的聲明屬于該段落。第一段落前的CommandsOptions 被忽略。

? * ActionsServices 擁有獨(dú)一無(wú)二的命名。在它們之后聲明相同命名的類將被當(dāng)作錯(cuò)誤并忽略。

Actions

-------

Actions 是一系列命令的命名。Actions 擁有一個(gè)觸發(fā)器(trigger) 用來(lái)決定action 何時(shí)執(zhí)行。當(dāng)一個(gè)action 在符合觸發(fā)條件被執(zhí)行時(shí),如果它還沒(méi)被加入到待執(zhí)行隊(duì)列中的話,則加入到隊(duì)列最后。

隊(duì)列中的action 依次執(zhí)行,action 中的命令也依次執(zhí)行。Init 在執(zhí)行命令的中間處理其它活動(dòng)( 設(shè)備創(chuàng)建/ 銷毀,property 設(shè)置,進(jìn)程重啟)

Actions 表現(xiàn)形式為:

on <trigger>

?? <command>

?? <command>

?? <command>

?

Services

--------

Services 是由init 啟動(dòng),在它們退出時(shí)重啟( 可選)Service 表現(xiàn)形式為:

service <name> <pathname> [ <argument> ]*

?? <option>

?? <option>

?? ...

??

Options

-------

OptionsServices 的修飾,它們影響init 何時(shí)、如何運(yùn)行service.

?

critical

???? 這是一個(gè)設(shè)備關(guān)鍵服務(wù)(device-critical service) . 如果它在4 分鐘內(nèi)退出超過(guò)4 次,設(shè)備將重啟并進(jìn)入恢復(fù)模式。

?

disabled

???? 這個(gè)服務(wù)的級(jí)別將不會(huì)自動(dòng)啟動(dòng),它必須被依照服務(wù)名指定啟動(dòng)才可以啟動(dòng)。

?

setenv <name> <value>

???? 設(shè)置已啟動(dòng)的進(jìn)程的環(huán)境變量<name> 的值<value>

?

socket <name> <type> <perm> [ <user> [ <group> ] ]

???? 創(chuàng)建一個(gè)名為/dev/socket/<name>unix domin socket ,并傳送它的fd 到已啟動(dòng)的進(jìn)程。<type> 必須為"dgram""stream". 用戶和組默認(rèn)為0.

?

user <username>

???? 在執(zhí)行服務(wù)前改變用戶名。當(dāng)前默認(rèn)為root. 如果你的進(jìn)程需要linux 能力,你不能使用這個(gè)命令。你必須在還是root 時(shí)請(qǐng)求能力,并下降到你需要的uid.

?

group <groupname> [ <groupname> ]*

???? 在執(zhí)行服務(wù)前改變組。在第一個(gè)組后的組將設(shè)為進(jìn)程附加組( 通過(guò)setgroups()). 當(dāng)前默認(rèn)為root.

?

oneshot

???? 在服務(wù)退出后不重啟。

?

class <name>

???? service 指定一個(gè)類別名。同樣類名的所有的服務(wù)可以一起啟動(dòng)或停止。如果沒(méi)有指定類別的服務(wù)默認(rèn)為"default" 類。

?

onrestart

?????? 當(dāng)服務(wù)重啟時(shí)執(zhí)行一個(gè)命令。

?

Triggers

--------

???? Triggers( 觸發(fā)器) 是一個(gè)字符串,可以用來(lái)匹配某種類型的事件并執(zhí)行一個(gè)action

?

boot

???? 這是當(dāng)init 開(kāi)始后執(zhí)行的第一個(gè)觸發(fā)器( 當(dāng)/init.conf 被加載)

?

<name>=<value>

???? 當(dāng)property <name> 被設(shè)為指定的值<value> 時(shí)觸發(fā)。

?

device-added-<path>

device-removed-<path>

???? 當(dāng)設(shè)備節(jié)點(diǎn)被添加或移除時(shí)觸發(fā)。

?

service-exited-<name>

???? 當(dāng)指定的服務(wù)存在時(shí)觸發(fā)

?

?

Commands

--------

?

exec <path> [ <argument> ]*

???? Fork 并執(zhí)行一個(gè)程序(<path>). 這將被block 直到程序執(zhí)行完畢。最好避免執(zhí)行例如內(nèi)建命令以外的程序,它可能會(huì)導(dǎo)致init 被阻塞不動(dòng)。

?

export <name> <value>

???? 設(shè)定全局環(huán)境變量<name> 的值<value> ,當(dāng)這個(gè)命令執(zhí)行后所有的進(jìn)程都可以取得。

?

ifup <interface>

???? 使網(wǎng)絡(luò)接口<interface> 聯(lián)機(jī)。

?

import <filename>

???? 解析一個(gè)init 配置文件,擴(kuò)展當(dāng)前配置文件。

?

hostname <name>

???? 設(shè)置主機(jī)名

?

chmod <octal-mode> <path>

???? 改變文件訪問(wèn)權(quán)限

?

chown <owner> <group> <path>

???? 改變文件所屬和組

?

class_start <serviceclass>

???? 當(dāng)指定類別的服務(wù)沒(méi)有運(yùn)行,啟動(dòng)該類別所有的服務(wù)。

?

class_stop <serviceclass>

???? 當(dāng)指定類別的服務(wù)正在運(yùn)行,停止該類別所有的服務(wù)。

?

domainname <name>

???? 設(shè)置域名。

?

insmod <path>

???? 加載該路徑<path> 的模塊

?

mkdir <path> [mode] [owner] [group]

???? <path> 創(chuàng)建一個(gè)目錄, 可選選項(xiàng):mod,owner,group. 如果沒(méi)有指定,目錄以755 權(quán)限,ownerroot,grouproot 創(chuàng)建.

?

mount <type> <device> <dir> [ <mountoption> ]*

???? 嘗試mount <device> 到目錄<dir>. <device> 可以用mtd@name 格式以命名指定一個(gè)mtd 塊設(shè)備。<mountoption> 包含"ro","rw","remount","noatime".

?

setkey

???? 暫時(shí)沒(méi)有

?

setprop <name> <value>

???? 設(shè)置系統(tǒng)property <name> 的值<value>.

?

setrlimit <resource> <cur> <max>

???? 設(shè)置resourcerlimit.

?

start <service>

???? 啟動(dòng)一個(gè)沒(méi)有運(yùn)行的服務(wù)。

?

stop <service>

???? 停止一個(gè)正在運(yùn)行的服務(wù)。

?

symlink <target> <path>

???? 創(chuàng)建一個(gè)<path> 的符號(hào)鏈接到<target>

?

sysclktz <mins_west_of_gmt>

???? 設(shè)置系統(tǒng)時(shí)區(qū)(GMT0)

?

trigger <event>

???? 觸發(fā)一個(gè)事件。用于調(diào)用其它action

?

write <path> <string> [ <string> ]*

???? 打開(kāi)<path> 的文件并寫(xiě)入一個(gè)或多個(gè)字符串。

?

?

Properties

----------

Init 會(huì)更新一些系統(tǒng)property 以提供查看它正在干嘛。

init.action

???? 當(dāng)前正在執(zhí)行的action, 如果沒(méi)有則為""

?

init.command

???? 被執(zhí)行的命令,如果沒(méi)有則為""

?

init.svc.<name>

???? 命名為<name> 的服務(wù)的狀態(tài)("stopped", "running", "restarting")

?

?

init.rc 示例 :

-----------------

?

# not complete -- just providing some examples of usage

#

on boot

?? export PATH /sbin:/system/sbin:/system/bin

?? export LD_LIBRARY_PATH /system/lib

?

?? mkdir /dev

?? mkdir /proc

?? mkdir /sys

?

?? mount tmpfs tmpfs /dev

?? mkdir /dev/pts

?? mkdir /dev/socket

?? mount devpts devpts /dev/pts

?? mount proc proc /proc

?? mount sysfs sysfs /sys

?

?? write /proc/cpu/alignment 4

?

?? ifup lo

?

?? hostname localhost

?? domainname localhost

?

?? mount yaffs2?mtd@system ?/system

?? mount yaffs2?mtd@userdata ?/data

?

?? import /system/etc/init.conf

?

?? class_start default

?

service adbd /sbin/adbd

?? user adb

?? group adb

?

service usbd /system/bin/usbd -r

?? user usbd

?? group usbd

?? socket usbd 666

?

service zygote /system/bin/app_process -Xzygote /system/bin --zygote

?? socket zygote 666

?

service runtime /system/bin/runtime

?? user system

?? group system

?

on device-added-/dev/compass

?? start akmd

?

on device-removed-/dev/compass

?? stop akmd

?

service akmd /sbin/akmd

?? disabled

?? user akmd

?? group akmd

?

調(diào)試

---------------

默認(rèn)情況下,init 執(zhí)行的程序輸出的信息和錯(cuò)誤到/dev/null. 為了debug ,你可以通過(guò)Android 程序logwrapper 執(zhí)行你的程序。這將復(fù)位向輸出/ 錯(cuò)誤輸出到Android logging 系統(tǒng)( 通過(guò)logcat 訪問(wèn))

例如

service akmd /system/bin/logwrapper /sbin/akmd

總結(jié)

以上是生活随笔為你收集整理的android init.rc语法标准 .的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 麻豆国产一区二区三区 | 亚洲1级片 | 杨幂毛片午夜性生毛片 | 奇米网888| 高跟91娇喘 | 亚洲综合视频一区 | 人人干视频 | 午夜在线观看影院 | 亚洲妇女无套内射精 | 欧美视频xxx| 成人午夜一区二区 | 18禁男女爽爽爽午夜网站免费 | 亚洲毛片儿| 美梦视频大全在线观看高清 | 欧美日韩视频 | 少妇av片 | 色97| 免费男女乱淫真视频免费播放 | 少妇乱淫36部 | 亚洲第一精品网站 | 欧美熟妇精品一区二区蜜桃视频 | 激情综合五月网 | 国产国产国产 | 国产黄大片 | 久久av资源站 | 亚洲毛茸茸 | 久久久久久欧美精品se一二三四 | 一区二区三区四区欧美 | 视频在线观看网站免费 | 欧美一级片一区 | 无码人妻精品一区二区三区温州 | 宅男视频污 | 亚洲一久久 | 久久精品婷婷 | 韩国三级中文字幕 | 李丽珍毛片 | 亚洲成人一区二区三区 | www.激情 | 黄色成年人网站 | 免费视频毛片 | 国产精品国产三级国产aⅴ无密码 | 男人日女人b视频 | a猛片| 国产99久久精品 | 亚洲AV无码成人片在线观看 | 国产成人精品a视频 | 日本美女动态图 | 亚洲黄色天堂 | 一本一道精品欧美中文字幕 | 成人永久免费 | 亚洲视频天天射 | 亚洲图片偷拍区 | 黑人巨大精品人妻一区二区 | 永久免费国产 | 大尺码肥胖女系列av | 亚洲成人精品一区 | 在线视频午夜 | 亚洲大尺度视频 | 欧美精品乱码视频一二专区 | 欧美巨大另类极品videosbest | 视频一区在线免费观看 | 精品99久久久久成人网站免费 | 天天综合色 | 国产99久久精品 | 亚洲国产精品毛片av不卡在线 | 日本www| av伊人久久 | 在线观看aa | 日韩黄色大全 | 美国三级a三级18 | 国产在线观看免费高清 | 久久久久久亚洲av毛片大全 | 色就是色亚洲色图 | 久久成年网 | 黄色午夜影院 | 亚洲综合视频在线播放 | 亚洲一区二区三区电影在线观看 | 亚洲精品视频网 | 性色视频网站 | 韩国日本在线观看 | 粉嫩欧美一区二区三区 | 欧美午夜精品久久久久久人妖 | 午夜视频入口 | 嫩模一区| 91jk制服白丝超短裙大长腿 | 中文字幕一区二区三区免费看 | 亚洲在线看片 | 精品一卡二卡三卡 | 无码人妻一区二区三区一 | 国产在线观看h | 久久久久久久久久久影院 | 午夜三区| 久久精品成人 | 久久男人精品 | 91视频在线观看 | 精品小视频在线观看 | 美女张开双腿让男人捅 | 小早川怜子久久精品中文字幕 | 国产精品久久久久久妇女6080 |