===================================================================
#include (stdio.h)
#include (stdlib.h)
#include (signal.h)
#include (wait.h)
myfuncion()
{
int proceso00, valor;
printf("ID de Proceso aquí--->\n");
scanf("%d", &proceso00);
if(kill(proceso00, SIGUSR2)!=0)
{
printf("El proceso no existe(Not Found!!)\n");
myseleccion();
}
else
{
printf("Proceso matado con éxito\nPresione 9 para regresar al menud\n");
}
}
myfuncionuno()
{
printf("Los procesos activos son:\n");
system("ps -u");
myseleccion();
}
myseleccion()
{
int opcion;
printf("Presione 1 para matar proceso\nPresione 2 para Ver los procesos activos\nPresione 3 para seguir con el programa\n");
scanf("%i", &opcion);
switch(opcion)
{
case 3:
seguir();
break;
case 1:
myfuncion();
break;
case 2:
myfuncionuno();
break;
default:
printf("No existe ésta opción\n");
}
return main();
}
seguir()
{
pid_t proceso;
proceso = fork();
if(proceso==-1)
{
printf("El proceso no existe\n");
}
if(WIFEXITED(proceso)!=0)
{
printf("El proceso creado es: --- [%d]\n", WEXITSTATUS(proceso));
wait(&proceso);
}
printf("Se limpiará la pantalla en 5 segundos y saldrá de la ejecución\n");
sleep(5);
exit(-1);
}
main()
{
int opcion4;
printf("Bienvenido al gestor de procesos\nPresione 8 para empezar\n");
scanf("%d", &opcion4);
if(opcion4==8)
{
myseleccion();
}
}
===================================================================
#include (signal.h)
#include (wait.h)
myfuncion()
{
int proceso00, valor;
printf("ID de Proceso aquí--->\n");
scanf("%d", &proceso00);
if(kill(proceso00, SIGUSR2)!=0)
{
printf("El proceso no existe(Not Found!!)\n");
myseleccion();
}
else
{
printf("Proceso matado con éxito\nPresione 9 para regresar al menud\n");
}
}
myfuncionuno()
{
printf("Los procesos activos son:\n");
system("ps -u");
myseleccion();
}
myseleccion()
{
int opcion;
printf("Presione 1 para matar proceso\nPresione 2 para Ver los procesos activos\nPresione 3 para seguir con el programa\n");
scanf("%i", &opcion);
switch(opcion)
{
case 3:
seguir();
break;
case 1:
myfuncion();
break;
case 2:
myfuncionuno();
break;
default:
printf("No existe ésta opción\n");
}
return main();
}
seguir()
{
pid_t proceso;
proceso = fork();
if(proceso==-1)
{
printf("El proceso no existe\n");
}
if(WIFEXITED(proceso)!=0)
{
printf("El proceso creado es: --- [%d]\n", WEXITSTATUS(proceso));
wait(&proceso);
}
printf("Se limpiará la pantalla en 5 segundos y saldrá de la ejecución\n");
sleep(5);
exit(-1);
}
main()
{
int opcion4;
printf("Bienvenido al gestor de procesos\nPresione 8 para empezar\n");
scanf("%d", &opcion4);
if(opcion4==8)
{
myseleccion();
}
}
===================================================================
Aquí les dejo el link de descarga directa para quienes quieren probar.
http://rs977.rapidshare.com/files/360367656/Kill_Proccesing_GNU_by_F1r3544.tar.gz
Compilado en Linux Debian x64 AMD. GCC (gcc) v 4.1