Ctrl+G gửi signal SIGINT. Dùng signal() (thư viện <signal.h>) đăng ký handler.
Ví dụ
#include <iostream>
#include <signal.h>
#include <unistd.h>
#include <cstdlib>
using namespace std;
void handler(int sig) {
cout << "Bắt signal " << sig << endl;
exit(sig);
}
int main() {
signal(SIGINT, handler);
while (true) {
cout << "Đang chạy...\n";
sleep(1);
}
}Kết quả (nhấn Ctrl+C)
Đang chạy... Đang chạy... ^CBắt signal 2