簡體   English   中英

Android init.rc在服務退出時觸發

[英]Android init.rc trigger on service-exited

我可以按照http://www.androidenea.com/2009/08/init-process-and-initrc.html上的指南,從Android中的初始化腳本(init.rc)啟動自己的服務。以及位於https://android.googlesource.com/platform/system/core/+/froyo-release/init/readme.txt的官方文檔

有一個名為“ on service-exit- < name >”的觸發器,其中name是在執行此觸發器的操作之前必須退出的服務的名稱。 但是,此觸發器似乎不起作用。 我啟動了一個小的Shell腳本作為服務,並相應地創建了觸發器以隨后啟動所有剩余的服務。 執行腳本后,init進程似乎卡住了,無法繼續執行其余的服務。

最終目標是實現類似受控或“分段”啟動過程的方式,在該過程中,我可以確保首先執行此腳本,然后啟動其余的服務。 我還嘗試通過使用不同的服務類來實現這一目標,但是失敗了

對此問題的任何幫助,我們將不勝感激。

閱讀源代碼后,我發現init將服務退出時將屬性(init.svc。<name>)設置為“ stopped”。 這意味着您可以使用屬性觸發器來實現service-exit- <name>應該執行的操作:

service 2nd_svc /system/bin/2nd_svc
    oneshot
    disabled

on property:init.svc.1st_svc=stopped
    start 2nd_svc

從源代碼( system/core/init/init.c )來看,此選項已記錄但未實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM