ইউনিক্স / ম্যাক ওএস এক্স টার্মিনালের জন্য ডিগ্রি সেন্টিগ্রেড এবং ^ ডি এর মধ্যে পার্থক্য কী?


61

আমি যখন কিছু থামানোর চেষ্টা করি তখন আমি ^Cএবং কখনও কখনও ^Dটার্মিনালে ব্যবহার করি ।

দুজনের মধ্যে পার্থক্য কী? কিছু প্রোগ্রাম কেন সাড়া দেয় না ^C, তবে ^D। টার্মিনাল.এপ যখন আমি ব্যবহার করি তখন কেন সরে যায় ^D?


এফওয়াইআই: এর জন্য উইকিপিডিয়া পৃষ্ঠাগুলি দেখুন: কন্ট্রোল + সি দ্বারা উত্পাদিত টেক্সট অক্ষর ইউ + 0003 এর সমাপ্তি , এবং কন্ট্রোল + ডি দ্বারা উত্পাদিত ট্রান্সমিশন চরিত্রের ইউ + 0004 এর সমাপ্তি
তুলসী বাউর্ক

উত্তর:


60

CtrlCটার্মিনালটিকে SIGINTবর্তমানের অগ্রভাগের প্রক্রিয়াতে একটি পাঠাতে বলে , যা ডিফল্টরূপে অ্যাপ্লিকেশনটি সমাপ্তিতে অনুবাদ করে। CtrlDটার্মিনালটিকে বলে যে এটি স্ট্যান্ডার্ড ইনপুটটিতে একটি EOF নিবন্ধিত করা উচিত, যা ব্যাশটি প্রস্থান করার ইচ্ছা হিসাবে ব্যাখ্যা করে।


62

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

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

যদি কোনও প্রোগ্রাম সাড়া না দেয় তবে আপনি + ( ) ^Cচেষ্টা করতে পারেন । এটি কুইট সিগন্যাল প্রেরণ করে , যা ডিফল্টরূপে একটি অ্যাপ্লিকেশনকে সমাপ্ত করে, এবং যা এতগুলি প্রোগ্রাম বাধা দেয় না।Ctrl\^\

আরও একটি কী যা সিগন্যাল প্রেরণ করে তা হ'ল Ctrl+ Z( ^Z)। এটি টিএসটিপি সিগন্যাল প্রেরণ করে , যা প্রোগ্রামের অগ্রভাগে চলতে বিরতি দেয়। (TSTP "টার্মিনাল স্টপ" এর জন্য ছোট এটা অনুরূপ STOP কিন্তু যেহেতু বন্ধ করতে পারবেন না TSTP উপেক্ষা করা যাবে।) শেল থেকে, আপনি যে প্রোগ্রামের এক্সিকিউশন পুনরায় শুরু করতে পারেন fgকমান্ড (পুরোভূমিতে সারসংকলন) অথবা bgকমান্ড (মধ্যে সারসংকলন পটভূমি)।

sttyকমান্ডের সাহায্যে এই কীগুলির সমস্ত পরিবর্তন করা যেতে পারে । কিছু প্রোগ্রাম, বিশেষত পূর্ণ-স্ক্রিন প্রোগ্রামগুলির কী বাইন্ডিং থাকে, সেগুলি অক্ষম করে।


একটি ছোট সংশোধন: কন্ট্রোল-জেড টিএসটিপি (টার্মিনাল স্টপ) সিগন্যাল প্রেরণ করে। এটি প্রক্রিয়া দ্বারা ধরা বা উপেক্ষা করা যেতে পারে, যেখানে স্টপ সংকেত হতে পারে না।
ক্রিস পেজ

এটি দরকার! এটি আটকে গিয়েছিল, এবং আমি বের হতে পারিনি
আহ্নবিজক্যাড

1
কেবলমাত্র সিটিআরএল-ডি সম্পর্কিত একটি পরামর্শ: এর অর্থ "আমি এখন পর্যন্ত টাইপ করা ইনপুটটি ফ্লাশ করব" এবং যদি লাইনটি খালি থাকে তবে পড়ুন () শূন্যের সাথে ফিরে আসে এবং এটি "ফাইলের শেষ" হিসাবে ব্যাখ্যা করা হয়।
লুকা

এটি অত্যন্ত গুরুত্বপূর্ণ এবং সহায়ক তথ্য; বিস্তৃত এবং স্পষ্ট ব্যাখ্যার জন্য ধন্যবাদ
আয়নো

কেবল কৌতূহলী হওয়ার কারণে, শেলটিতে যে অজগরটি চালিত হয় সেগুলি কেন সিটিআর + সি দিয়ে ছাড়বে না, পরিবর্তে এটি প্রম্পট করবে KeyboardInterrupt? এটি সিআরটিএল + ডি (যদি কোনও লাইনের শুরুতে হয়) এবং সিআরটিএল + with দিয়ে প্রস্থান করে \
রিক

2

উপরে 2 টি সত্যিই ভাল উত্তর যুক্ত করা, এখানে একটি উদাহরণ:

আপনি যদি pythonশেলটি টাইপ করেন তবে এটি আপনাকে অজগর >>> প্রম্পটে নিয়ে যাবে।

এখন, আপনি যদি আঘাত করেন তবে Ctrl+Cএটি বলবে KeyboardInterruptএবং >>> এ থাকবে।
আপনি যদি লুপের জন্য প্রবেশ করেন, উদাহরণস্বরূপ for x in (text):এটি টাইপ করে আপনি ... প্রম্পট দেখিয়ে আরও টাইপ করার জন্য অপেক্ষা করেন, আপনি যদি Ctrl+Cএখন আঘাত করেন তবে এটি স্টেটমেন্ট থেকে বেরিয়ে এসে >>> প্রম্পটে ফিরে আসবে
যদি আপনি আঘাত করেন Ctrl+Dযে কোনও মুহুর্তে, >>> বা ... তা অজগর প্রম্পট থেকে বেরিয়ে আসল শেলটিতে ফিরে আসবে।

একইভাবে, যদি অন্য মেশিনে প্রবেশ করা হয় তবে একটি Ctrl+Cবিদ্যমান কমান্ডগুলি সমাপ্ত Ctrl+Dকরবে , তা করবে এবং মেশিন থেকে প্রস্থান করবে। (এছাড়াও, Deleteকীটি একইভাবে করা Ctrl+D)


আমি এই উত্তর প্রশংসা করি। যাইহোক, নিজের জন্য চেষ্টা করার সময় আমি কিছু ভুলত্রুটি পেয়েছি। রিমোট মেশিনে প্রবেশ করে অজগর প্রক্রিয়া চালানোর সময়, Ctrl + D অজগর থেকে বেরিয়ে এসে আমাকে রিমোট মেশিনের প্রম্পটে ফিরিয়ে নিয়ে যায়, এটি মেশিন থেকে বের হয় নি। এছাড়াও, মুছুন কীটি কোনও ক্ষেত্রে সিটিআর + ডি এর মতো কাজ করে না, পাইথন চালাচ্ছে, রিমোট প্রম্পটে বা আমার স্থানীয় প্রম্পটে। এটি পাইথন টাইপ করার সময় অক্ষর মুছা বাদে কিছুই করার কথা বলে মনে হয় নি। তবে, টাইপ করার সময় Ctrl + D মুছুন কী হিসাবে কাজ করেছিল, এটি অক্ষর মুছে ফেলে deleted
আন্ডারফ্লো স্ট্যাক

1
এটি আকর্ষণীয়, আমি মনে করি এটি আপনি যে ধরণের শেল ব্যবহার করছেন (বাশ, কেএসএল ইত্যাদি) তার উপর নির্ভর করে।
সিদ্ধার্থ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.