#include #include #include #include #include #include #include #include #define SHM_KEY 0xABCD #define SHM_SIZE 5 int sig_recvd = 0; void sighandler (int sig) { if (sig == SIGUSR1) { sig_recvd = 1; printf("sig received\n"); } } int main (int argc, char *argv[]) { int shmid, i; pid_t pid; char *shm_arr; signal(SIGUSR1, sighandler); if ((pid = fork()) != 0) { shmid = shmget(SHM_KEY, SHM_SIZE, IPC_CREAT | 0600); shm_arr = shmat(shmid, NULL, 0); memset(shm_arr, 0, SHM_SIZE); for (i=0; i