#include volatile sig_atomic_t stop; void inthand(int signum) { stop = 1; } int main(){ signal(SIGINT, inthand); // register signal handler while(!stop){ // do stuff } exit(0) }