杀死关键字对应的进程-草稿

工具作用:根据输入的关键字查询相关进程,询问后杀死该进程!

其实就是一个工具,用什么实现都可以,个人认为直接用 shell 脚本最方便,无奈脚本功夫不给力,闲来无事,用C写了一个,也还是调用系统命令实现,挺有意思,记个笔记,顺便把工具安装在自己的电脑中,嘎嘎。

#include<stdio.h>

#include<string.h>

void killProcess(char key[]);

int main(int arg0,char **arg1){

        printf("arg0=%d\n",arg0);

        printf("arg1[0]=%s\n",arg1[0]);

        printf("arg1[1]=%s\n",arg1[1]);

        char key[128];

        char flag[3]="no";

        printf("input key for find pid to kill : ");

        scanf("%s",key);

        char cmd[100] = "ps -ef |grep ";

        char *last = "|egrep  -v 'grep' > out.log";

        char *mid;

        char *res;

        mid = strcat(cmd,key);

        res = strcat(mid,last);

        system(res);

        system("cat out.log");

        printf("########################################################################\n");

        printf(" Kill theme ??? (yes/no) : ");

        scanf("%s",flag);

        if( strcmp(flag,"yes")==0 || strcmp(flag,"y")==0 ){

                killProcess(key);

        }else if( strcmp(flag,"no")==0 || strcmp(flag,"n")==0 ){

                printf("not kill\n");

        }

        system("rm -rf out.log");

}

void killProcess(char key[]){

        char cmd[100] = "ps -ef |grep ";

        char *last = "|egrep  -v 'grep'|awk '{print $2}' |xargs kill -9 ";

        char *mid;

        char *res;

        mid = strcat(cmd,key);

        res = strcat(mid,last);

//      printf("execute : %s\n",res);   

        system(res);

}


发布了40 篇原创文章 · 获赞 0 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/lancefox/article/details/84125580