#include #include #include #include #define MAX_LEN 200 void sigint_handler( int sig ) { printf( "Please don\'t interrupt me!!\n" ); } void sigterm_handler( int sig ) { printf( "Don\'t terminate me, Arnie!\n" ); } void sighup_handler( int sig ) { printf( "Don\'t hang me up now!\n" ); } void sigquit_handler( int sig ) { printf( "Don\'t quit on me!\n" ); } int main( void ) { char s[MAX_LEN]; if ( signal( SIGINT, sigint_handler ) == SIG_ERR ) { perror( "signal" ); exit( 1 ); } if ( signal( SIGTERM, sigterm_handler ) == SIG_ERR ) { perror( "signal" ); exit( 1 ); } if ( signal( SIGHUP, sighup_handler ) == SIG_ERR ) { perror( "signal" ); exit( 1 ); } if ( signal( SIGQUIT, sigquit_handler ) == SIG_ERR ) { perror( "signal" ); exit( 1 ); } printf( "Enter a string:\n" ); if ( fgets( s, MAX_LEN, stdin ) == NULL ) perror( "fgets" ); else printf( "You entered: %s", s ); return 0; }