যখন Ctrl-C চলমান কাজকে হত্যা করবে না তখন কী করবেন?


98

কখনও কখনও, প্রসেসগুলি Ctrl- Cবাশের মাধ্যমে প্রেরিত SIGINT সিগন্যালটিকে উপেক্ষা করে । উদাহরণস্বরূপ, manএবং vi। ধরে নিই যে আপনি চলমান প্রক্রিয়া থেকে কীভাবে বেরিয়ে আসবেন সে সম্পর্কে ম্যানুয়ালটি গুগল করতে বা পড়তে চান না, এমন কোনও কী ক্রম রয়েছে যা সর্বদা কাজ করবে (টার্মিনালটি ছাড়াই)?

উত্তর:


141

+ এর সাথে SIGQUIT সিগন্যাল প্রেরণ করুন ।Ctrl\

.. $ sleep 10
^\Quit

→ এটি সমান kill -3 pid। ব্যবহারকারী-স্পেসে চালিত প্রোগ্রামগুলি সিগকুইটটিকে উপেক্ষা করবেন না।

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

সিসআরকি কীটি বেশিরভাগ কীবোর্ডে, মুদ্রণ কী হিসাবে সমান। আমার নোটবুকে, এফএন কী ব্যবহার করে এটি চালু করা যেতে পারে; সেই ক্রমে I Alt Alt Fn n মুদ্রণ → কে।

এখানে কিছু প্রাথমিক প্রক্রিয়া পরিচালনার শর্টকাট রয়েছে:

  • Ctrl+ Z: একটি প্রক্রিয়া বিরতি দিন ( bgপটভূমিতে পুনরায় শুরু fgকরতে, অগ্রভাগে বাড়ানো)
  • Ctrl+ C: বিনীতভাবে প্রক্রিয়াটি এখনই বন্ধ করতে বলুন
  • Ctrl+ \: বর্তমানে অগ্রভাগে রয়েছে এমন প্রক্রিয়াটি নির্দয়ভাবে হত্যা করুন
  • Alt+ SysRq+ s: ডিস্কে ডেটা লিখুন (গুরুত্বপূর্ণ কিছু হত্যার আগে সর্বদা এটি করুন)
  • Alt+ + SysRq+ + s, k: নির্দয়ভাবে একটি প্রদত্ত ভার্চুয়াল কনসোলে সমস্ত বর্তমান প্রক্রিয়াগুলিকে অক্ষম
  • Alt+ + SysRq+ + s, b: নির্দয়ভাবে আনমাউন্ট করা হচ্ছে ছাড়া রিবুট,
  • Alt+ + SysRq+ + r, e, i, s, u, b: নিরাপদে r eboot Ven আমিগুলি ystem হয় তোমার দর্শন লগ করা tterly roken,

দ্রষ্টব্য: Ctrl+ + Z, এর বিপরীতে Ctrl+ + Cএবং Ctrl+ + \, এছাড়াও জন্য কাজ করে man, vi, less, এবং মত।

সন্দেহ থাকলে, ফলোলিং পদ্ধতি প্রায় সবসময় কাজ করবে:

~$ sleep 10
^Z
[5]+  Stopped              sleep 10
~$ ps
  PID TTY          TIME CMD
 4804 pts/0    00:00:00 bash
 6207 pts/0    00:00:00 sleep
 6208 pts/0    00:00:00 ps
~$ kill -9 6207
[5]+  Killed                  sleep 10
~$ 

^ Z অবশ্যই নির্দেশ করে যে Ctrl+ Zটিপে রাখা হয়েছে।


শেলস এবং টার্মিনালগুলিতে আরও গভীরতার জন্য, আমার উত্তরগুলি এখানেও দেখুন:


3
"ঘুম 10" এর জন্য কাজ করে তবে এখনও "মানুষ" বা "vi" এর জন্য কাজ করে না। স্পষ্টতই "কিল -9 পিড" উভয় প্রক্রিয়া হত্যার কাজ করে। আমি কিছু অনুপস্থিত করছি?
অলিভিয়ার লালনডে

3
Ctrl + Z কম, ম্যান, ভি এবং আরও অনেক কিছু নিয়ে কাজ করে। তারপরে আপনি psতাদের প্রসেস আইডি দেখতে একটি করে তাদের হত্যা করতে পারেন এবং kill pidযদি আপনি প্রোগ্রামটির অন্যান্য উদাহরণগুলির যত্ন না করেন killall vi,। যাইহোক, Ctrl-Z সবসময় কাজ করে বলে মনে হয়।
স্টেফানো প্যালাজো

5
আপনি kill %%সর্বশেষ কাজটিও মেরে ফেলতে পারেন এবং kill %5যেখানে 5 তে দেখানো কাজের নম্বর রয়েছে jobs
অলিভিয়ের লালনডে

2
Ctrl- SIG একটি সংকেত প্রেরণ করে, একটি সিক্কিল নয়। SIGQUIT এবং SIGKILL এর মধ্যে কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে। en.wikedia.org/wiki/SIGQUIT
জুলিয়ানো

4
আমি কিভাবে চাপুন না Ctrl+ + \ যখন নেই \ আমার কীবোর্ড লেআউট কী?
ফোরিভিন


8

কখনও কখনও CTRL+Cভুল প্রোগ্রাম বা ইনপুট চ্যানেলে পাঠানো হচ্ছে। এটি বিশেষত সম্পাদক হিসাবে যেমন viপাইপ আউটপুট সহ কমান্ড, জটিল বাশ কমান্ড লুপ জড়িত ইত্যাদি সহ সাধারণ commands

একটি সহজ, দ্রুত সমাধান হ'ল চাকরি স্থগিত করা CTRL+Zএবং তারপরে এটি জব নম্বর দ্বারা হত্যা করা: kill %1বা kill -9 %1, ইত্যাদি to


6
  • এর মধ্যে একটি ব্যবহার করে দেখুন:

    Ctrl+ +4

    Ctrl+ +\


  • বা:

    Ctrl+ Zএবং তারপরে চালান:

    kill %1

কোথায় %1কাজ নম্বর যার যখন আপনি চাপা ফিরে হয়েছিল Control- Z-9হত্যার জন্য জোর করে যুক্ত করুন ।


আপনি যখন পাঠ্য কনসোলে থাকবেন তখন আপনিও চেষ্টা করতে পারেন: Ctrl- SysRq। কার্নেলটি প্রক্রিয়াটি মারা উচিত।

বা SysRq- k, বর্তমান ভার্চুয়াল কনসোলে সমস্ত প্রক্রিয়াটি মেরে ফেলুন (এছাড়াও এক্স এবং সোভালিব প্রোগ্রামগুলিও বধ করতে পারে)।

দ্রষ্টব্য: যখন হিমশীতল গ্রাফিকাল প্রোগ্রামটি বন্ধ করতে ম্যাজিক সিসআরকি কীগুলি ব্যবহার করা হয় তখন প্রোগ্রামটির পাঠ্য মোড পুনরুদ্ধার করার কোনও সুযোগ থাকে না। এটি সবকিছু অপঠনযোগ্য করে তুলতে পারে।

দেখুন: যাদু SysRq কী এবং এর কমান্ড সংমিশ্রণগুলি।


3

মানুষের কাছ থেকে বিদায় নিতে , ব্যবহার q করার জন্য vi ব্যবহার করুন:q


0

এটি সম্ভব, আপনি অনুলিপিটির শর্টকাট থেকে পরিবর্তন করেছেন:

CTRL+ SHIFT+C

প্রতি

CTRL+ +C

এইভাবে, যখন আপনি কোনও প্রক্রিয়া মারার চেষ্টা করেন, তখন CTRL+ Cকাজ করে না।

কপি শর্টকাট প্রতিস্থাপিত করার চেষ্টা করুন CTRL+ + SHIFT+ + C


1
কোনও প্রক্রিয়া বন্ধ করতে বাধ্য করার জন্য অনুলিপি কপির শর্টকাট!
এসবিবি

আপনি দয়া করে আপনার উত্তরটি একটু বাড়িয়ে দিতে পারেন? ধাপে ধাপে আদর্শ হবে, প্রাথমিকভাবে যাতে ওপি আপনার পরামর্শের সাথে অনুসরণ করতে পারে। :)
ThatGuy

এটি আসলে আমাকে সাহায্য করেছিল। আমি ম্যাকওএস-এ সিটিআরএল + সি ব্যবহার করেছি এবং উবুন্টু কমান্ডটি বুঝতে পারিনি যে সিটিআরএল + শিফট + সি ছিল
রাস্তার স্কিন

-1

Ctrl+ Alt+ চেষ্টা করুনBackspace

আপনি যদি উবুন্টু 10.04 ব্যবহার করেন তবে আপনি এই কীটি কাজ করতে সক্ষম করতে চান।

সক্রিয় করার জন্য Control- Alt-Backspace

গোটো সিস্টেম -> পছন্দসমূহ -> কীবোর্ড

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

নির্বাচন X সার্ভারের হত্যা করার কী অনুক্রম এবং সক্ষম Control+ + Alt+ +Backspace

বিঃদ্রঃ:

টিপে Ctrl- Alt- Backspaceআপনার এক্স সার্ভার পুনরায় চালু হবে।


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