ast_comparator/test/student_data/handout/shlab-handout/cases/reference_26_tsh.c
/*
 * sigtstp_handler - The kernel sends a SIGTSTP to the shell whenever
 *     the user types ctrl-z at the keyboard. Catch it and suspend the
 *     foreground job by sending it a SIGTSTP.
 */
The kernel sends a SIGTSTP to the shell whenever
the user types ctrl-z at the keyboard. Catch it and suspend the
foreground job by sending it a SIGTSTP.
The kernel sends a SIGTSTP to the shell whenever the user types ctrl - z at the keyboard . Catch it and suspend the foreground job by sending it a SIGTSTP .
void sigtstp_handler(int sig) {
    pid_t pid;
    if ((pid = fgpid(jobs)) != 0) { 
        if (kill(-pid, SIGTSTP)) { 
            unix_error("sigtstp_handler: kill error");
            exit(1);
        }
    }
    return;
}
void sigtstp_handler ( int sig ) { pid_t pid ; if ( ( pid = fgpid ( jobs ) ) != 0 ) { if ( kill ( - pid , SIGTSTP ) ) { unix_error ( " " ) ; exit ( 1 ) ; } } return ; }
sigtstp_handler - The kernel sends a SIGTSTP to the shell whenever
     the user types ctrl-z at the keyboard.
sigtstp_handler - The kernel sends a SIGTSTP to the shell whenever the user types ctrl - z at the keyboard .
// Get foreground job // Send SIGTSTP signal