সাইন ইন কীভাবে অন্যান্য সমাপ্তি সংকেতগুলির সাথে সম্পর্কিত হয় যেমন সিগমেন্টটার, সিগুয়েট এবং সিগিল?


104

পসিক্স সিস্টেমে সমাপ্তি সংকেতগুলিতে সাধারণত নিম্নলিখিত ক্রম থাকে (অনেকগুলি এমএএন পৃষ্ঠাগুলি এবং পসিএক্স স্পেক অনুযায়ী):

  1. স্বাক্ষর - বিনীতভাবে একটি প্রক্রিয়া শেষ করতে বলুন। এটি কৃত্রিমভাবে সমাপ্ত হবে, সমস্ত সংস্থান (ফাইল, সকেট, চাইল্ড প্রক্রিয়াগুলি ইত্যাদি) পরিষ্কার করবে, অস্থায়ী ফাইলগুলি মুছে ফেলবে এবং এ জাতীয় কিছু।

  2. সিকুইট - আরও জোরপূর্বক অনুরোধ। এটি কৃপণ সমাপ্ত হবে, এখনও পুরোপুরি পরিষ্কারের প্রয়োজন এমন সংস্থানগুলি পরিষ্কার করে, তবে অস্থায়ী ফাইলগুলি মুছতে পারে না, কোথাও ডিবাগের তথ্য লিখতে পারে; কিছু সিস্টেমে একটি কোর ডাম্পও লেখা হবে (সিগন্যালটি অ্যাপটির দ্বারা ধরা পড়লে বা না থাকুক)।

  3. সিক্কিল - সর্বাধিক জোর অনুরোধ। প্রক্রিয়াটি এমনকি কিছু করতে বলা হয় না, তবে সিস্টেমটি এটি পছন্দ করবে না তা প্রক্রিয়া পরিষ্কার করবে। সম্ভবত একটি কোর ডাম্প লেখা হয়।

কীভাবে এই চিত্রটির সাথে সাইন ইন করা যায়? সিআরআইএনএল প্রক্রিয়াটি সাধারণত সিআইজিএনটি দ্বারা সমাপ্ত হয় যখন ব্যবহারকারী সিআরটিএল + সি হিট করে, তবে কিল ইউটিলিটি ব্যবহার করে সাইন ইন একটি পটভূমি প্রক্রিয়াও শেষ করতে পারে। আমি চশমা বা শিরোলেখের ফাইলগুলিতে যা দেখতে পাচ্ছি তা হ'ল যদি সাইন্টারের চেয়ে সিআইজিএনটি কম বা বেশি শক্তিশালী হয় বা যদি স্বাক্ষর এবং সাইনটারমের মধ্যে কোনও পার্থক্য থাকে।

হালনাগাদ:

আমি এখনও অবধি সমাপ্তি সংকেতগুলির সর্বোত্তম বিবরণ হ'ল জিএনইউ লিবিসি ডকুমেন্টেশন । এটি খুব ভালভাবে ব্যাখ্যা করে যে সাইনটারএম এবং সিগকিউটের মধ্যে একটি উদ্দেশ্যগত পার্থক্য রয়েছে।

এটি সাইনটারম সম্পর্কে বলে:

বিনীতভাবে কোনও প্রোগ্রামটি শেষ করতে বলার স্বাভাবিক উপায় It

এবং এটি সিকুইটি সম্পর্কে বলে:

[...] এবং কোনও প্রোগ্রামের ত্রুটি সংকেতের মতো প্রক্রিয়াটি সমাপ্ত হলে একটি কোর ডাম্প উত্পাদন করে। আপনি এটি একটি প্রোগ্রাম ত্রুটি শর্ত হিসাবে ব্যবহারকারী দ্বারা "সনাক্ত" হিসাবে ভাবতে পারেন। [...] সিকুইকিটি পরিচালনার ক্ষেত্রে কয়েকটি ধরণের ক্লিনআপগুলি সর্বোত্তমভাবে বাদ দেওয়া হয়। উদাহরণস্বরূপ, প্রোগ্রামটি যদি অস্থায়ী ফাইলগুলি তৈরি করে তবে অস্থায়ী ফাইলগুলি মুছে ফেলার মাধ্যমে এটি অন্যান্য সমাপ্তির অনুরোধগুলি পরিচালনা করতে হবে। তবে সেগুয়েটের পক্ষে সেগুলি মুছে না ফেলা ভাল, যাতে ব্যবহারকারী তাদের মূল ডাম্পের সাথে একত্রে পরীক্ষা করতে পারেন।

এবং সিগআপেরও যথেষ্ট ব্যাখ্যা করা হয়েছে। সাইনগআপ আসলে কোনও সমাপ্তি সংকেত নয়, এর অর্থ কেবল ব্যবহারকারীর সাথে "সংযোগ" হারিয়ে গেছে, সুতরাং অ্যাপ্লিকেশনটি ব্যবহারকারীকে আরও কোনও আউটপুট (যেমন স্টাডআউট / স্টডার আউটপুট) পড়ার আশা করতে পারে না এবং এর থেকে প্রত্যাশার কোনও ইনপুট নেই ব্যবহারকারী এখন আর। বেশিরভাগ অ্যাপ্লিকেশনের জন্য যার অর্থ তারা আরও ভাল ছেড়ে দেয়। তাত্ত্বিকভাবে একটি অ্যাপ্লিকেশনও সিদ্ধান্ত নিতে পারে যে যখন একটি সিএইচএইচআপ আসে তখন এটি ডিমন মোডে যায় এবং এখন একটি ব্যাকগ্রাউন্ড প্রক্রিয়া হিসাবে চালিত হয়, একটি কনফিগার করা লগ ফাইলে আউটপুট লেখার জন্য। ইতিমধ্যে ব্যাকগ্রাউন্ডে চলমান বেশিরভাগ ডেমনগুলির জন্য, সিএইচএইচপি এর অর্থ সাধারণত তারা তাদের কনফিগারেশন ফাইলগুলি পুনরায় পরীক্ষা করে দেখবেন, সুতরাং আপনি কনফিগার ফাইল সম্পাদনা করার পরে এটি ব্যাকগ্রাউন্ড প্রক্রিয়ায় প্রেরণ করবেন।

তবে সিআরটিএল + সি দ্বারা প্রেরিত ব্যতীত এই পৃষ্ঠায় সিগিন্টের কোনও কার্যকর ব্যাখ্যা নেই। কেন কোনও কারণ রয়েছে যে কেউ সিগন্টারের চেয়ে আলাদাভাবে সিগিন্ট পরিচালনা করবে? যদি তা হয় তবে এর কারণ কীভাবে হবে এবং পরিচালনা কীভাবে আলাদা হবে?


4
ভাল প্রশ্ন. আমি সন্দেহ করি যে theতিহাসিক কিছু ইউনিক্স ক্রাফ্ট উত্তরের সাথে জড়িত থাকবে।
অ্যালেক্স বি

আমি জানি এই প্রশ্নটি পুরানো, তবে কেউ যদি আপনার (লিনাক্স) ওএসের জন্য সংকেতগুলির একটি বিস্তৃত তালিকার জন্য এখানে আসে তবে সেগুলি sudo fuser -lআপনার কমান্ড প্রম্পটে টাইপ করে খুঁজে পাওয়া যাবে । আমার জন্য এটি নিয়ে আসে:HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS UNUSED
নিক বুল

4
kill -lসিগন্যালের তালিকার জন্যও চেষ্টা করুন ।
এএএফার্মক্লাব

উত্তর:


90

"এই প্রক্রিয়াটি সমাপ্ত করুন" অনুরোধগুলির জন্য সাধারণ উদ্দেশ্যে সিগনটারম এবং সিগিলিল। সিগনটার্ম (ডিফল্টরূপে) এবং সিগকল (সর্বদা) প্রক্রিয়াটি সমাপ্তির কারণ ঘটবে। সিগনটার প্রক্রিয়াটির দ্বারা ধরা পড়তে পারে (উদাহরণস্বরূপ যাতে এটি চাইলে এটি নিজস্ব পরিষ্কার করতে পারে), এমনকি সম্পূর্ণ উপেক্ষাও করতে পারে; কিন্তু সিগ্কিল ধরা বা উপেক্ষা করা যায় না।

সাইন ইন এবং সাইনকিউইটি বিশেষত টার্মিনাল থেকে অনুরোধের উদ্দেশ্যে করা হয়: নির্দিষ্ট ইনপুট অক্ষরগুলি এই সিগন্যালগুলি তৈরি করার জন্য নির্ধারিত হতে পারে (টার্মিনাল নিয়ন্ত্রণ সেটিংসের উপর নির্ভর করে)। সিগিন্টের জন্য ডিফল্ট ক্রিয়াটি হ'ল সিগনটারের জন্য ডিফল্ট ক্রিয়া এবং সিগ্কিলের জন্য পরিবর্তনযোগ্য ক্রিয়া হিসাবে একই প্রক্রিয়া সমাপ্তি; SIGQUIT এর জন্য ডিফল্ট ক্রিয়াটি সমাপ্তির প্রক্রিয়াও হয়, তবে অতিরিক্ত বাস্তবায়ন-সংজ্ঞায়িত ক্রিয়াকলাপগুলি ঘটতে পারে, যেমন একটি কোর ডাম্পের উত্পাদন। হয় প্রয়োজন হয় প্রক্রিয়া দ্বারা ধরা বা উপেক্ষা করা যেতে পারে।

যেমন আপনি বলেছেন, সাইনআপের উদ্দেশ্য এটি বোঝানো হয়েছে যে টার্মিনাল সংযোগটি একেবারে সমাপ্তির সংকেত হওয়ার চেয়ে হারিয়ে গেছে। তবে, আবারও, সিএইচএইচইউপি-র জন্য ডিফল্ট ক্রিয়া (যদি প্রক্রিয়াটি এটি ধরতে না পারে বা উপেক্ষা করে না) হ'ল প্রক্রিয়াটি SIGTERM ইত্যাদির মতো একইভাবে শেষ করা।

পসিক্স সংজ্ঞায় একটি সারণী রয়েছে signal.hযার জন্য বিভিন্ন সংকেত এবং তাদের ডিফল্ট ক্রিয়াকলাপ এবং উদ্দেশ্যগুলি তালিকাভুক্ত করা হয়েছে এবং জেনারেল টার্মিনাল ইন্টারফেস অধ্যায়ে টার্মিনাল সম্পর্কিত সংকেতগুলির উপর আরও অনেক বিশদ অন্তর্ভুক্ত রয়েছে।


10
এটি মূল বিষয়: প্রোগ্রামটি চলাকালীন একক অক্ষর ব্যবহার করে টার্মিনাল থেকে SIGINT এবং SIGQUIT উত্পন্ন করা যায়। অন্যান্য সংকেতগুলি অন্য কোনও প্রোগ্রাম দ্বারা উত্পন্ন করতে হবে, কোনওভাবে (যেমন কিল কমান্ড দ্বারা)। SIGINIT এর চেয়ে সাইন ইন করা কম হিংস্র; পরেরটি একটি কোর ডাম্প উত্পাদন করে। সাইন কিল আটকা যাবে না। আপনার সংযোগটি স্তব্ধ হয়ে থাকলে (উইন্ডো বন্ধ হয় ইত্যাদি) সাইনআপ তৈরি করা হয়। সুতরাং, তাদের সবার অর্থ আলাদা।
জোনাথন লেফলার

সংকেতগুলি কার্নেলের টিটি সাবসিস্টেমের সাথে কীভাবে যোগাযোগ করে সে সম্পর্কে টিটিওয়াই ডেমিস্টিফাইডের কিছু সহজে হজমযোগ্য তথ্য রয়েছে। আপনার উত্তরে কিছু প্রসঙ্গ যুক্ত করে।
ড্যানিয়েল নাসলুন্ড

4
দেখে মনে হচ্ছে চশমাগুলি খুব সুনির্দিষ্ট নয়, তবে আমার বুদ্ধি হ'ল এসআইজিিন্ট প্রোগ্রামটিকে বর্তমান ক্রিয়া বন্ধ করতে বলেছে, অগত্যা ছেড়ে দেওয়া উচিত নয়। কেবলমাত্র ডিজাইন করা একটি প্রোগ্রামের জন্য রান হিসাবে প্রতি ক্রিয়াকলাপটি বোঝা যা বোঝায়, তবে একটি ইন্টারেক্টিভ প্রোগ্রামের জন্য যা কিছু ধরণের রিড-ইভাল-প্রিন্ট লুপ থাকে, তার অর্থ বর্তমান ইওল ছেড়ে দেওয়া এবং ব্যবহারকারীর ইনপুট পড়তে ফিরে যেতে পারে। আমি মনে করি সিগিন্টে এটি কম করে।
বিডিএসএল

রিবুট করার সময় কোন সংকেত পাঠানো হয়?
ড্যান ড্যাসক্লেস্কু

10

যেমন ডার্কডাস্ট উল্লেখ করেছে যে অনেক সংকেতের একই ফলাফল রয়েছে তবে প্রতিটি সংকেত কীভাবে উত্পন্ন হয় তা আলাদা করে প্রক্রিয়াগুলি তাদের সাথে বিভিন্ন ক্রিয়া সংযুক্ত করতে পারে। ফ্রিবিএসডি কার্নেল উত্স কোড (kern_sig.c) দেখে আমি দেখতে পাচ্ছি যে দুটি সিগন্যাল একইভাবে পরিচালনা করা হয়, তারা প্রক্রিয়াটি শেষ করে এবং কোনও থ্রেডে সরবরাহ করা হয়।

SA_KILL|SA_PROC,             /* SIGINT */
SA_KILL|SA_PROC,             /* SIGTERM */

9

সিগিন্ট বনাম সিগটারমের জন্য দ্রুত গুগল অনুসন্ধানের পরে , দেখে মনে হচ্ছে উভয়ের মধ্যে একমাত্র উদ্দেশ্যপূর্ণ পার্থক্যটি এটি কোনও কীবোর্ড শর্টকাট দ্বারা শুরু হয়েছিল বা স্পষ্ট কল দ্বারাkill

ফলস্বরূপ, আপনি উদাহরণস্বরূপ, সিগিন্টটি আটকান এবং এটির সাথে বিশেষ কিছু করতে পারেন, এটি জেনে যে এটি সম্ভবত কোনও কীবোর্ড শর্টকাট দ্বারা প্রেরণ করা হয়েছিল। মরার পরিবর্তে সম্ভবত পর্দা বা অন্য কিছু রিফ্রেশ করুন (প্রস্তাবিত নয়, লোকেরা ^Cপ্রোগ্রামটি হত্যা করার প্রত্যাশা করে, কেবল একটি উদাহরণ)।

আমি শিখেছি যে ^\sigquit প্রেরণ করা উচিত, যা আমি নিজের ব্যবহার শুরু করতে পারি। খুব দরকারী মনে হচ্ছে।


9

man 7 signal

আপনি লিনাক্স সিগন্যাল তথ্যের জন্য প্রায়শই দেখতে চান এটি লিনাক্স ম্যান-পৃষ্ঠাগুলি প্রকল্পের সুবিধাজনক নন-আদর্শিক ম্যানপেজ ।

সংস্করণ 3.22 আকর্ষণীয় বিষয়গুলির উল্লেখ করে যেমন:

সিগন্যালগুলি সিগ্কিল এবং সিগস্টপ ধরা, আটকাতে বা উপেক্ষা করা যাবে না।

এবং টেবিল রয়েছে:

Signal     Value     Action   Comment
----------------------------------------------------------------------
SIGHUP        1       Term    Hangup detected on controlling terminal
                              or death of controlling process
SIGINT        2       Term    Interrupt from keyboard
SIGQUIT       3       Core    Quit from keyboard
SIGILL        4       Core    Illegal Instruction
SIGABRT       6       Core    Abort signal from abort(3)
SIGFPE        8       Core    Floating point exception
SIGKILL       9       Term    Kill signal
SIGSEGV      11       Core    Invalid memory reference
SIGPIPE      13       Term    Broken pipe: write to pipe with no
                              readers
SIGALRM      14       Term    Timer signal from alarm(2)
SIGTERM      15       Term    Termination signal
SIGUSR1   30,10,16    Term    User-defined signal 1
SIGUSR2   31,12,17    Term    User-defined signal 2
SIGCHLD   20,17,18    Ign     Child stopped or terminated
SIGCONT   19,18,25    Cont    Continue if stopped
SIGSTOP   17,19,23    Stop    Stop process
SIGTSTP   18,20,24    Stop    Stop typed at tty
SIGTTIN   21,21,26    Stop    tty input for background process
SIGTTOU   22,22,27    Stop    tty output for background process

যা সংকেতটির সংক্ষিপ্তসার করে যা ActionSIGQUIT থেকে উদাহরণস্বরূপ SIGQUIT, যেহেতু SIGQUIT এর ক্রিয়া Coreএবং সাইন ইন রয়েছে Term

ক্রিয়াকলাপ একই নথিতে নথিভুক্ত করা হয়:

The entries in the "Action" column of the tables below specify the default disposition for each signal, as follows:

Term   Default action is to terminate the process.

Ign    Default action is to ignore the signal.
Core   Default action is to terminate the process and dump core (see core(5)).
Stop   Default action is to stop the process.
Cont   Default action is to continue the process if it is currently stopped.

কার্নেলের দৃষ্টিকোণ থেকে আমি SIGTERM এবং SIGINT এর মধ্যে কোনও পার্থক্য দেখতে পাচ্ছি না যেহেতু উভয়েরই ক্রিয়া রয়েছে Termএবং উভয়ই ধরা পড়তে পারে। মনে হচ্ছে এটি কেবল একটি "সাধারণ ব্যবহারের কনভেনশন পার্থক্য":

  • আপনি যখন টার্মিনাল থেকে সিটিআরএল-সি করেন তখন সাইন ইন করা হয়
  • SIGTERM হ'ল ডিফল্ট সিগন্যাল kill

কিছু সংকেত এএনএসআই সি এবং অন্যগুলি হয় না

যথেষ্ট পার্থক্য হ'ল:

  • সাইন ইন এবং সিগনেটারগুলি এএনএসআই সি, সুতরাং আরও বহনযোগ্য
  • সিগুয়েট এবং সিগকিল নয়

এগুলি C99 খসড়া এন 1256 এর "7.14 সিগন্যাল হ্যান্ডলিং" বিভাগে বর্ণিত হয়েছে :

  • একটি ইন্টারেক্টিভ মনোযোগ সিগন্যালের স্বাক্ষর প্রাপ্তি
  • স্বাক্ষর করুন প্রোগ্রামে একটি সমাপ্তির অনুরোধ প্রেরণ

যা সাইন ইন একটি ইন্টারেক্টিভ সিটিআরএল + সি জন্য একটি ভাল প্রার্থী করে তোলে

পজিক্স 7

পজিক্স 7 signal.hশিরোনামের সাথে সংকেতগুলি নথী করে : https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html

এই পৃষ্ঠায় নিম্নলিখিত আগ্রহের সারণিও রয়েছে যা আমরা ইতিমধ্যে দেখেছি এমন কয়েকটি বিষয়ের উল্লেখ রয়েছে man 7 signal:

Signal    Default Action   Description
SIGABRT   A                Process abort signal.
SIGALRM   T                Alarm clock.
SIGBUS    A                Access to an undefined portion of a memory object.
SIGCHLD   I                Child process terminated, stopped,
SIGCONT   C                Continue executing, if stopped.
SIGFPE    A                Erroneous arithmetic operation.
SIGHUP    T                Hangup.
SIGILL    A                Illegal instruction.
SIGINT    T                Terminal interrupt signal.
SIGKILL   T                Kill (cannot be caught or ignored).
SIGPIPE   T                Write on a pipe with no one to read it.
SIGQUIT   A                Terminal quit signal.
SIGSEGV   A                Invalid memory reference.
SIGSTOP   S                Stop executing (cannot be caught or ignored).
SIGTERM   T                Termination signal.
SIGTSTP   S                Terminal stop signal.
SIGTTIN   S                Background process attempting read.
SIGTTOU   S                Background process attempting write.
SIGUSR1   T                User-defined signal 1.
SIGUSR2   T                User-defined signal 2.
SIGTRAP   A                Trace/breakpoint trap.
SIGURG    I                High bandwidth data is available at a socket.
SIGXCPU   A                CPU time limit exceeded.
SIGXFSZ   A                File size limit exceeded.

ব্যস্তবক্স ইনিশ

ব্যস্তবক্সের 1.29.2 ডিফল্ট reboot কমান্ড প্রসেসগুলিতে একটি SIGTERM প্রেরণ করে, এক সেকেন্ডের জন্য ঘুমায় এবং তারপরে সিগ্কিল প্রেরণ করে। এটি বিভিন্ন ডিস্ট্রো জুড়ে একটি সাধারণ সম্মেলন বলে মনে হচ্ছে।

আপনি যখন একটি ব্যস্তবক্স সিস্টেমটি বন্ধ করবেন তখন:

reboot

এটি init প্রক্রিয়াতে একটি সংকেত প্রেরণ করে।

তারপরে, আরআই সিগন্যাল হ্যান্ডলারটি কলটি শেষ করে:

static void run_shutdown_and_kill_processes(void)
{
    /* Run everything to be run at "shutdown".  This is done _prior_
     * to killing everything, in case people wish to use scripts to
     * shut things down gracefully... */
    run_actions(SHUTDOWN);

    message(L_CONSOLE | L_LOG, "The system is going down NOW!");

    /* Send signals to every process _except_ pid 1 */
    kill(-1, SIGTERM);
    message(L_CONSOLE, "Sent SIG%s to all processes", "TERM");
    sync();
    sleep(1);

    kill(-1, SIGKILL);
    message(L_CONSOLE, "Sent SIG%s to all processes", "KILL");
    sync();
    /*sleep(1); - callers take care about making a pause */
}

যা টার্মিনালে প্রিন্ট করে:

The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes

এটির একটি ন্যূনতম কংক্রিটের উদাহরণ

কার্নেল দ্বারা প্রেরিত সিগন্যাল


3

ব্যবহার kill(সিস্টেম কল এবং ইউটিলিটি উভয়ই করে) আপনি যে কোনও প্রক্রিয়াতে প্রায় কোনও সিগন্যাল প্রেরণ করতে পারবেন, আপনি অনুমতি পেয়েছেন process কোনও প্রক্রিয়া পার্থক্য করতে পারে না কীভাবে জীবনে সংকেত এসেছিল এবং কে এটি পাঠিয়েছে।

বলা হচ্ছে, সিগিন্টটি আসলে সিটিআরএল-সি বাধা এককভাবে বোঝানো হয়েছে, যখন সাইন্টার্মই সাধারণ টার্মিনাল সিগন্যাল। সিগন্যালটির "আরও শক্তিশালী" হওয়ার কোনও ধারণা নেই, কেবল ব্যতিক্রম ছাড়া এমন কিছু সংকেত রয়েছে যাগুলি ব্লক বা পরিচালনা করতে পারবেন না (ম্যান পৃষ্ঠা অনুসারে সিগ্কিল এবং সিগস্টপ)।

কোনও প্রাপ্তি প্রক্রিয়া কীভাবে সংকেত পরিচালনা করে (এবং সেই সংকেতের জন্য ডিফল্ট ক্রিয়াটি কী) সে সম্পর্কে সম্মতিযুক্ত একটি সিগন্যাল অন্য সংকেতের চেয়ে কেবল "আরও জোরবান" হতে পারে। উদাহরণস্বরূপ, ডিফল্টরূপে, SIGTERM এবং সাইন ইন উভয়ই সমাপ্তির দিকে নিয়ে যায়। তবে আপনি যদি SIGTERM কে অগ্রাহ্য করেন তবে এটি আপনার প্রক্রিয়াটি শেষ করবে না, যদিও সাইন ইন এখনও করে।


0

কয়েকটি সিগন্যাল ব্যতীত সিগন্যাল হ্যান্ডলাররা বিভিন্ন সংকেত ধরতে পারে বা সংকেত প্রাপ্তির পরে ডিফল্ট আচরণটি সংশোধন করা যায়। signal(7)বিশদ জন্য ম্যান পৃষ্ঠা দেখুন ।


হ্যাঁ, তবে আমি যদি এককালের "অর্থ" না জানি, তবে সিগন্যালটি ধরা অর্থহীন, কারণ আমি আমার অ্যাপ্লিকেশনটিতে কী করব তা আমি জানব না। জিএনইউ সি যেমন SIGQUIT এবং SIGTERM এর মধ্যে পার্থক্য ব্যাখ্যা করে। তবে এটি সাইন ইন সম্পর্কে খুব কম তথ্য দেয়: gnu.org/s/libc/manual/html_node/
সমাপনী- সিগন্যালস

" SIGINTযখন ব্যবহারকারী আইএনটিআর চরিত্রটি টাইপ করেন (সাধারণত C-c) " ("প্রোগ্রামের বাধাপ্রাপ্তি") সিগন্যাল প্রেরণ করা হয় । " "কীবোর্ড থেকে সাইন ইন 2 টার্ম ইন্টারপট" আপনি সিটিআরএল-সি মারছেন, SIGINTপাঠানো হয়েছে। প্রক্রিয়াটি সাধারণত মারা যায়। আর কি দিতে হবে?
Ignacio Vazquez-Abram

সম্ভবত বার্তাটির সিটিআরএল-সি চাপলে প্রোগ্রামারটির ব্যবহারকারীটির অভিপ্রায়টি অনুমান করা উচিত বলে একটি বর্ণনা থাকতে পারে। উদাহরণ হিসাবে HTTP অনুমানটি স্পষ্ট করে দেয় যে কোনও ব্যবহারকারী যখন GET অনুরোধ প্রেরণ করে তখন সার্ভারকে ধরে নেওয়া উচিত নয় যে তারা কোনও প্রতিক্রিয়া ফেরত পাঠানো ব্যতীত এটির জন্য কিছু করতে চায় wish
বিডিএসএল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.