#include <stdio.h>
#include <signal.h>
#include <sys/signal.h>
void usr( int sig )
{
printf(
"PID [%d] received signal %d\n", getpid(), sig );
}
void main( void )
{
if( fork() == 0
)
{
for(;;)
{
sleep( 5
);
printf( "child sending %d to
pid=%d\n", SIGUSR1, getppid() );
kill(
getppid(), SIGUSR1 );
}
}
else
{
sigset(
SIGUSR1, usr );
for(;;)
{
static int
i = 0;
printf(
"i=%d\n", i++ );
sleep( 1
);
}
}
}