Matar el sistema llamado en c

Matar el sistema llamado en c

El sistema operativo utiliza la llamada del sistema Kill () en el lenguaje C para enviar una señal de interrupción a un proceso, instándolo a salir. Por otro lado, una llamada del sistema de matar no siempre implica que el proceso se está terminando; Puede tener una variedad de significados. Usando la función del sistema "Kill ()", un proceso puede señalar a un nuevo proceso. La llamada del sistema Kill () se usa ampliamente para transmitir señales a programas multiproceso o procesos tradicionales. Basado en sus valores numéricos, el parámetro PID entero tiene múltiples implicaciones. Si el valor PID es más de cero, la señal SIG se emite al grupo de subprocesos del proceso cuyo PID coincide con PID. Si el valor PID es igual a cero, la señal SIG se transmite a todos los grupos de subprocesos en el mismo grupo de proceso que el proceso de la persona que llama. Si PID es igual a -1, a excepción del Swapper (PID 0), Init (PID 1) y la corriente, la señal se da a todos los procesos.

En esta guía, explicaremos la implementación de la llamada del sistema Kill () en el lenguaje C.

Requisitos previos:

  • Instalación y configuración de cualquier sistema operativo.

Nota: Estamos usando Ubuntu 20.04 Sistema Linux.

  • Instalación del compilador GCC para la compilación y ejecución de código
  • Derechos de sudo

Ejemplo para Kill () Sistema Llamada en C

Comencemos con un ejemplo breve y simple para aclarar nuestro concepto de llamada al sistema Kill (). Para esto, necesitamos tener un .archivo c en nuestro sistema. Como ya se dice que estamos utilizando Ubuntu 20.04 Sistema Linux, por lo que crearemos un .archivo c usando el shell. En primer lugar, inicie el shell buscando en la aplicación del Ubuntu 20.04 Sistema Linux o utilizando la tecla "Ctrl+Alt+T". Una vez que obtenga acceso al shell, ejecute el comando declarado a continuación en la consola.

$ nano kill.C

El nombre del archivo en nuestro caso es "Mata.C". Sin embargo, depende de usted nombrar su archivo según su elección. Tras la implementación del comando mencionado anteriormente, el editor GNU Nano aparecerá en su pantalla. Debe escribir un código similar al que se muestra en la captura de pantalla a continuación. Sin embargo, dependiendo de sus requisitos de trabajo, el código se puede modificar fácilmente.

El int argc (recuento de argumentos) contiene la cantidad de argumentos de línea de comandos dados por el usuario, como el nombre del programa. Si le damos un valor al programa, el valor de Argc será dos; uno para el argumento y otro para el nombre del programa. El valor de Argc no debe ser negativo. Argv (argumento vector) es una matriz de puntero de caracteres que contiene todos los argumentos. En la función printf, hemos usado getpid ().

La función getPID () se utiliza para obtener el ID de proceso del proceso que lo llama. El PID para el proceso inicial es 1, y cada proceso sucesivo tiene una identificación diferente. Es un método sencillo para obtener el PID. Esta función solo lo ayuda a obtener identificadores de proceso únicos. El unistd.H Biblioteca, un atajo de la Biblioteca estándar UNIX, proporciona la función Sleep (). Queremos dormir durante 5 segundos en este escenario. El parámetro será 5, que es un entero. La abreviatura SigseGV significa "violación de la segmentación."Cuando un programa intenta escribir/leer fuera de la memoria asignada a ella, o al escribir memoria que solo se puede leer, SigseGV se produce. La abreviatura SigseGV significa "violación de segmentación". Después de escribir el código, es hora de la ejecución y la compilación.

Ejecutar el comando indicado a continuación en la consola del Ubuntu 20.04 Sistema Linux.

$ GCC Kill.C

No habrá salida de este comando. Ahora, para obtener la salida del comando escrito anteriormente, ejecute el comando indicado a continuación en la consola del Ubuntu 20.04 Sistema Linux.

ps ./a.afuera

Puede verificar que la salida se haya mostrado en el shell.

Conclusión

Este artículo le ha proporcionado una breve descripción de la llamada del sistema Kill () en C. El uso de la llamada del sistema Kill () en C se ha proporcionado en detalle. Hemos ejecutado uno de los ejemplos para aclarar el concepto. Espero que este programa lo beneficie a ejecutar su código de manera efectiva.