3.305 cursos gratis
6.270.120 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > Procesos en C. Sincronización (segunda parte) > Procesos en C. Función Killpg y raise

Procesos en C. Sincronización (segunda parte)

Autor: Editorial McGraw-Hill
Curso: 5/5 5/5 (1 opinión) |757 alumnos|Fecha publicación: 21/10/2008

Capítulo 3:

 Procesos en C. Función Killpg y raise

B. Función killpg

La función killpg permite a un proceso enviar una señal a un grupo de procesos del mismo modo que con la función kill. Su definición es:

include <signal.h>
int killpg (int pgrp, int sig);


donde sig es la señal que se desea enviar y pgrp es el grupo de procesos. Según el valor que toma pgrp, se puede encontrar:

-  Si pgrp es 0, la función envía la señal al grupo de procesos al que pertenece el proceso que está enviando la señal.
-  Si pgrp es positivo, la señal sig se manda al proceso cuyo pid es pgrp. En este caso, la función devuelve un 0, si todo ha ido bien, o un -1, en caso de error, el cual tiene asociado un código que se encuentra en errno. 
Si pgrp es igual a -1, la señal sig se envía a todos los procesos, excepto al primero, desde los valores más altos en la tabla de procesos a los más bajos. En este caso, la función devuelve un 0, si la acción ha tenido éxito, o la última condición de error de la sig enviada, si ha tenido lugar algún error.
-  Si pgrp es menor que -1, la señal sig se envía a todos los procesos que pertenecen al mismo grupo que el proceso que envía la señal. En este caso, si hay un error, se devuelve un valor negativo y, si todo va bien, se devuelve el número de los procesos a los que se ha enviado la señal.

C. Función raise

La función raise se emplea cuando es necesario que un proceso se envíe señales a sí mismo. La definición es:

include <signal.h>
int raise (int sig);


donde sig es el número de la señal que se quiere enviar. El valor devuelto es 0, cuando se ha ejecutado con éxito, y un número distinto de 0, en caso de error. La función raise se puede implementar a partir de kill del siguiente modo:

kill (getpid(), sig);

donde getpid es una función que devuelve el id del proceso actual, y sig es el número de la señal que se desea enviar.

Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 1 opinión. Opina sobre este curso.


Cursos similares a Procesos en C. Sincronización (segunda parte)


Cursos Valoración Alumnos Vídeo
La presentación oral
La presentación oral es el objeto de estudio de este curso. El hombre tiene el don de la palabra; un instrumento que puede modificar realidades y deli... [09/11/09]
5/5 18  
La comunicación de las Relaciones Públicas
Relaciones Públicas es la función orientada a crear y afianzar vínculos favorables entre los públicos y la organización; en ese marco,  la Comuni... [04/11/09]
5/5 21  
Ventas. Guía para vendedores (2/4)
Guía de ventas. El arte de vender y de la negociación. Nuestra guía para la venta profesional encara hoy el rol y las características del a... [11/12/08]
 4,50/5 545  


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail