Ctrl+ + Cকারণ ক SIGINT
প্রক্রিয়া চলমান পাঠানো হবে। এই সংকেত প্রক্রিয়া দ্বারা ধরা যেতে পারে। উত্স উত্স কোডে আপনি এই সংকেতটির জন্য একটি ফাঁদ পেতে পারেন commands.c
:
/* If we got a signal that means the user
wanted to kill make, remove pending targets. */
if (sig == SIGTERM || sig == SIGINT
... remove childrens ...
/* Delete any non-precious intermediate files that were made. */
remove_intermediates (1);
remove_intermediates()
এর ক্লিনআপ ফাংশনটি হল make
, এখানে এর সংজ্ঞা দেখুন:
/* Remove all nonprecious intermediate files.
If SIG is nonzero, this was caused by a fatal signal,
meaning that a different message will be printed, and
the message will go to stderr rather than stdout. */
এবং পরে আপনি যে ফাংশনটি দেখবেন সেগুলি কার্যকরভাবে মুছে ফেলা হবে:
status = unlink (f->name);
উপসংহার:
সাধারণত কোনও সংকলন বাধা দেওয়ার বিষয়ে আতঙ্কিত হন না make
। যদি এটি অপরিবর্তনযোগ্য সিগন্যাল না হয় ( SIGKILL, SIGSEGV, SIGSTOP
) এটি অন্তর্বর্তী ফাইলগুলির একটি ক্লিনআপ করবে।