zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android start stop命令使用(十七)

Android命令 start 十七 Stop 使用
2023-09-14 09:09:56 时间

1.Android start stop命令使用 

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