CTRL + C বর্তমান এক্সিকিউটিং টাস্কে একটি ইন্টারাপ্ট পাঠাতে ব্যবহৃত হয়। এই প্রোগ্রামে, আমরা দেখব কিভাবে C++ ব্যবহার করে CTRL + C ইভেন্ট ধরতে হয়।
CTRL + C হল C বা C++ এ একটি সংকেত। তাই আমরা সিগন্যাল ক্যাচিং টেকনিক দিয়ে ধরতে পারি। এই সংকেতের জন্য, কোডটি হল SIGINT (বিঘ্নের জন্য সংকেত)। এখানে signal() ফাংশন দ্বারা সিগন্যাল ধরা হয়। তারপর একটি কলব্যাক ঠিকানা সিগন্যাল পাওয়ার পরে কল ফাংশনে পাস করা হয়।
আরও ভালো ধারণা পেতে প্রোগ্রামটি দেখুন।
উদাহরণ
#include <unistd.h>
#include <iostream>
#include <cstdlib>
#include <signal.h>
using namespace std;
// Define the function to be called when ctrl-c (SIGINT) is sent to process
void signal_callback_handler(int signum) {
cout << "Caught signal " << signum << endl;
// Terminate program
exit(signum);
}
int main(){
// Register signal and signal handler
signal(SIGINT, signal_callback_handler);
while(true){
cout << "Program processing..." << endl;
sleep(1);
}
return EXIT_SUCCESS;
} আউটপুট
$ g++ test.cpp $ ./a.out Program processing... Program processing... Program processing... Program processing... Program processing... Program processing... ^CCaught signal 2 $