赞
踩
- 1.重启framwork
- # adb shell stop && adb shell start
-
- 2.源码位置:在system/core/toolbox/start.c下面,原理很简单就是利用ctl属性来控制进程。
- //start命令
- #include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <cutils/properties.h>
-
- int start_main(int argc, char *argv[])
- {
- if(argc > 1) {
- property_set("ctl.start", argv[1]);
- } else {
- /* defaults to starting the common services stopped by stop.c */
- property_set("ctl.start", "netd");
- property_set("ctl.start", "surfaceflinger");
- property_set("ctl.start", "zygote");
- property_set("ctl.start", "zygote_secondary");
- }
-
- return 0;
- }
-
- //stop命令
- system/core/toolbox/stop.c
- #include <stdio.h>
- #include <string.h>
- #include <cutils/properties.h>
-
- int stop_main(int argc, char *argv[])
- {
- if(argc > 1) {
- property_set("ctl.stop", argv[1]);
- } else{
- /* defaults to stopping the common services */
- property_set("ctl.stop", "zygote_secondary");
- property_set("ctl.stop", "zygote");
- property_set("ctl.stop", "surfaceflinger");
- property_set("ctl.stop", "netd");
- }
-
- return 0;
- }
-
- 注意:start stop可以启动和停止init中的service,类似我们设置ctl.start clt.stop
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。