#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) {
char Npid[10];
char hazlo[20];
char proceso[20];
char op = ' ';
void menu();
int pedirNum();
while (op != 0) {
//Mientras no se elija la opcion de salida,me muestra el menu y la
función pedirNum.
system("clear");
menu();
op=pedirNum();
//Ejecutamos la función pedirNum y lo que devuelve se lo asignamos a op.
switch (op) {
//Tratamos los casos con %s para no tener problemas si el usuario
uintroduce una letra en la selección en lugar de un número.
case '1':
system("ps -Ao user,pid,comm,stat |grep -i $USER | grep -v
mata"); //Me muestra los apartados que quiero y filtramos nuestro
usuario y evitamos que aparezca nuestro programa.
printf("\nEscriba el PID del proceso que quiere matar: ");
scanf("%s", Npid);
sprintf(hazlo, "kill -9 %s", Npid);
//Copiamos lo que leemos en Npid junto con el comando a ejecutar en la
cadena (hazlo).
system(hazlo);
break;
case '2':
system("ps -Ao user,pid,comm,stat |grep -i $USER | grep -v mata");
printf("\nEscriba el PID del proceso que quiere parar: ");
scanf("%s", Npid);
sprintf(hazlo, "kill -19 %s", Npid);
system(hazlo);
break;
case '3':
printf("\n");
system("ps -Ao user,pid,comm,stat | grep T");
//Mostramos los apartados que nos interesa y filtramos los que esten
parados y podamos continuar.
printf("\nEscriba el PID del proceso que quiere continuar: ");
scanf("%s", Npid);
sprintf(hazlo, "kill -18 %s", Npid);
system(hazlo);
break;
case '4':
system("ps -Ao user,pid,comm,stat |grep -i $USER | grep -v mata");
printf("\nEscriba el PID del proceso que quiere terminar: ");
scanf("%s", Npid);
sprintf(hazlo, "kill -9 %s", Npid);
system(hazlo);
break;
case '5':
system("ps -Ao user,pid,comm,stat |grep -i $USER | grep -v mata");
printf("Escriba el nombre del proceso que quiere terminar: ");
scanf("%s", proceso);
sprintf(hazlo, "killall %s", proceso);
system(hazlo);
break;
case '6':
system("gnome-terminal -e top"); //Abrimos otra terminal y le pasamos el comando top.
break;
case '0':
system("clear");
printf("Saliendo del programa...\n");
exit(1);
break;
default:
printf("--OPCION INCORRECTA--"); //Si no es una opción correcta, nos muestra el mensaje.
}
}
return 0;
}
// Procedimiento menu.
void menu() {
printf("\n\n-------MENU-------\n\n");
printf("1.Matar un proceso.\n");
printf("2.Para un proceso.\n");
printf("3.Continua un proceso.\n");
printf("4.Termina un proceso.\n");
printf("5.Matar procesos por su nombre.\n");
printf("6.Ver procesos por consumo.\n");
printf("0.Salir del programa.\n");
}
// Función Pedir Número.
int pedirNum() {
char num = ' ';
printf("\nElija operación(0-6)");
scanf("%s", &num);
return num;
}
No hay comentarios:
Publicar un comentario