不讓某個應用被kill

alps/kernel-4.9 / drivers/staging/android/lowmemorykiller.c

    selected_oom_score_adj = min_score_adj;

    rcu_read_lock();
    for_each_process(tsk) {
        struct task_struct *p;
        short oom_score_adj;
        /* MTK begin for 2GB Bench-marking antutu*/
        if(tsk->comm){        
             if((strstr(tsk->comm,"tutu.ABenchMark")!=NULL)        
                ||(strstr(tsk->comm,"ABenchMark:push")!=NULL)        
                ||(strstr(tsk->comm,"benchmark:full")!=NULL)        
                ||(strstr(tsk->comm,"myapplication")!=NULL)){        
                lowmem_print(1,"MTK_lowmemorykiller_2 jump kill 'tutu.ABenchMark' 'ABenchMark:push' 'benchmark:full' 'myapplication'\n");        
                continue;        
             }        
        }        
        /* MTK end */

        if (tsk->flags & PF_KTHREAD)
            continue;

        if (task_lmk_waiting(tsk) &&
            time_before_eq(jiffies, lowmem_deathpending_timeout)) {
            rcu_read_unlock();
            spin_unlock(&lowmem_shrink_lock);
            return 0;
        }

 

 

lavao6761/platform/system/core / lmkd/lmkd.c

/* Kill one process specified by procp.  Returns the size of the process killed */
static int kill_one_process(struct proc* procp, int min_score_adj, bool is_critical) {
    int pid = procp->pid;
    uid_t uid = procp->uid;
    char *taskname;
    int tasksize;
    int r;

    taskname = proc_get_name(pid);
    /* MTK begin for 2GB Bench-marking antutu*/
    //ALOGE("ALOGE HaoR_packageName enter");
    //ALOGI("ALOGE HaoR_packageName enter");
    //ALOGE("HaoR_packageName =%s",taskname);
    char packageName[20] = {""};
    strncpy(packageName, taskname, sizeof("com.antutu"));
    ALOGE("HaoR_packageName=%s,taskname=%s,strcmp=%d",packageName,taskname,strcmp(packageName,"com.antutu"));
    if(!strcmp(packageName,"com.antutu")){
    return -1000;

    }
    /* MTK end */

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章