/* * Exemplo para depuração de processo filho. */ #include #include #include #include #include void trata_SIGUSR1(int signum) { printf("Recebi SIGUSR1\n"); } int main() { int rfork; if ((rfork = fork()) != 0) { printf("Processo pai sendo depurado\n"); printf("Processo filho: %d\n",rfork); return 0; } else { sigset_t masc_sigusr1; sigfillset(&masc_sigusr1); sigdelset(&masc_sigusr1, SIGINT); sigdelset(&masc_sigusr1, SIGUSR1); signal(SIGUSR1,trata_SIGUSR1); sigsuspend(&masc_sigusr1); printf("Processo filho sendo depurado\n"); return 0; } }