杀死关键字对应的进程-草稿
工具作用:根据输入的关键字查询相关进程,询问后杀死该进程!
?
其实就是一个工具,用什么实现都可以,个人认为直接用 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);
}