কেউ আমাকে ctrl+ zএবং ctrl+ এর মধ্যে পার্থক্য বলতে পারেন c?
আমি যখন টার্মিনালে থাকি, উভয় সংমিশ্রণই বর্তমান প্রক্রিয়াটি বন্ধ করে দেয় তবে উভয়ের মধ্যে ঠিক কী পার্থক্য রয়েছে?
কেউ আমাকে ctrl+ zএবং ctrl+ এর মধ্যে পার্থক্য বলতে পারেন c?
আমি যখন টার্মিনালে থাকি, উভয় সংমিশ্রণই বর্তমান প্রক্রিয়াটি বন্ধ করে দেয় তবে উভয়ের মধ্যে ঠিক কী পার্থক্য রয়েছে?
উত্তর:
আমরা যদি একদিকে প্রান্তের কেসগুলি ছেড়ে যাই তবে পার্থক্যটি সহজ। Control+ Cঅ্যাপ্লিকেশনটি প্রায় অবিলম্বে বাতিল করে দেয় যখন Control+ Zএটি ব্যাকগ্রাউন্ডে বন্ধ করে দেয়, স্থগিত করা হয়।
শেল এই সমন্বয়গুলির অন্তর্নিহিত অ্যাপ্লিকেশনগুলিতে বিভিন্ন সংকেত প্রেরণ করে:
Control+ C(নিয়ন্ত্রণ চরিত্র intr
) SIGINT প্রেরণ করে যা অ্যাপ্লিকেশনটিকে বাধাগ্রস্থ করবে। সাধারণত এটিকে বাতিল করতে বাধ্য করা হয়, তবে এটি সিদ্ধান্ত নেওয়ার ক্ষেত্রেই হয়।
Control+ Z(নিয়ন্ত্রণ চরিত্র susp
) কার্যকরভাবে ব্যাকগ্রাউন্ডে রেখে স্থগিত করে অগ্রভাগের অ্যাপ্লিকেশনে SIGTSTP প্রেরণ করে। আপনার দরকারী কিছু ডেটা ধরতে এবং সম্পাদকের মতো কিছু ভাঙার দরকার পড়লে এটি দরকারী is আপনি দৌড় দিয়ে আবার অ্যাপ্লিকেশনটিতে যেতে পারেন fg
(বা যেমন দেখায় কাজের নম্বরটি %x
কোথায় )।x
jobs
আমরা এটি চালিয়ে nano TEST
, তারপরে Control+ টিপে Zএবং তারপরে চালিয়ে পরীক্ষা করতে পারি ps aux | grep TEST
। এটি আমাদের দেখায় যে nano
প্রক্রিয়াটি এখনও চলছে:
oli 3278 0.0 0.0 14492 3160 pts/4 T 13:59 0:00 nano TEST
আরও, আমরা দেখতে পাচ্ছি (সেই টি থেকে, যা স্থিতি কলামে রয়েছে) প্রক্রিয়াটি বন্ধ হয়ে গেছে । সুতরাং এটি এখনও জীবিত, তবে এটি চলছে না ... এটি আবার শুরু করা যেতে পারে।
কিছু চলমান বাহ্যিক প্রক্রিয়া (ওয়েব অনুরোধের মতো) যদি তারা ঘুমিয়ে থাকার সময়সীমা শেষ করে তবে কিছু অ্যাপ্লিকেশন ক্র্যাশ হবে will
bg
(পরিবর্তে fg
) চালানোও সম্ভব ; অ্যাপ্লিকেশন এবং অ্যাপ্লিকেশন নিজেই শুরু করে এমন দুটি শেলকে কার্যকরভাবে আপনাকে নিয়ন্ত্রণ দেওয়া , যেমন আপনি অ্যাপ্লিকেশন শুরু করার সময় ব্যবহার করেছিলেন । এটি প্রায়শই কার্যকর হয় যখন আপনি এটি দিয়ে শুরু করতে ভুলে গিয়েছিলেন :)&
&
fg
আবার টাইপ করে সেই প্রক্রিয়া ফিরে পেতে পারেন !
ctrl c
বা করার পরে অগ্রভাগে ফিরতে হবে ctrl z
? এটি এসআইডি (বাশ) এর ডিফল্ট?
Control+ Zএকটি প্রক্রিয়া স্থগিত করে ( SIGTSTP
) এবং Control+ Cএকটি প্রক্রিয়া বাধা দেয় ( SIGINT
)
http://en.wikipedia.org/wiki/Control-Z
ইউনিক্স-মতো সিস্টেমে, কন্ট্রোল + জেডটি মূল সিকোয়েন্সের জন্য সবচেয়ে সাধারণ ডিফল্ট কীবোর্ড ম্যাপিং যা কোনও প্রক্রিয়া স্থগিত করে is
http://en.wikipedia.org/wiki/Control-C
পসিক্স সিস্টেমে সিকোয়েন্সটি সক্রিয় প্রোগ্রামকে একটি সিগিন্ট সিগন্যাল গ্রহণ করে causes প্রোগ্রামটি কীভাবে এই শর্তটি পরিচালনা করবেন তা নির্দিষ্ট না করে, এটি সমাপ্ত হবে। সাধারণত একটি প্রোগ্রাম যা একটি সিগিন্ট পরিচালনা করে তা এখনও নিজেকে শেষ করে দেবে, বা অন্তত এর ভিতরে চলমান কার্যটি শেষ করে দেবে
Ctrl+ + Cসংকেত একটি প্রক্রিয়া হত্যা করতে ব্যবহৃত হয় SIGINT
, অন্য কথায় এটি একটি ভদ্র হয় হত্যা ।
Ctrl+ Z কোনও প্রক্রিয়াটিকে সিগন্যাল প্রেরণ করে স্থগিত করার জন্য ব্যবহৃত হয় SIGTSTP
যা ঘুমের সিগন্যালের মতো, এটি পূর্বাবস্থায় ফিরে যেতে পারে এবং প্রক্রিয়াটি আবার শুরু করা যেতে পারে।
তবে যখন কোনও প্রক্রিয়া স্থগিত করা হয়, আমরা আবার fg
(অগ্রভাগে পুনরায় শুরু করুন) এবং bg
(পটভূমিতে পুনরায় শুরু ) দ্বারা এটি আবার চালু করতে পারি, তবে আমি একটি নিহত প্রক্রিয়া পুনরায় শুরু করতে পারি না, এটি Ctrl+ C& Ctrl+ ব্যবহারের মধ্যে পার্থক্য Z।
আমরা স্থগিত প্রক্রিয়াগুলি কীভাবে দেখতে পারি ?
jobs
কমান্ড ভালো আউটপুট দেয়:
[1]- Stopped cat
[2]+ Stopped vi
ব্যাকগ্রাউন্ডে স্থগিত প্রক্রিয়াটি কীভাবে হত্যা করা যায় ?
kill
কমান্ডটি ব্যবহার করে :
kill %n
কমান্ড n
দ্বারা প্রদর্শিত নম্বর যেখানে jobs
। সুতরাং যদি আমি বিড়াল বধ করতে চাই: kill %1
।
এটি সহজভাবে বলতে:
CTRL-C অনুরোধ যে প্রোগ্রাম বাতিল ।
CTRL-Z প্রোগ্রাম স্থগিত করতে এবং পটভূমিতে যেতে বাধ্য করে ।
কমান্ডের সাহায্যে এটি আপনাকে এটি পুনরায় শুরু করতে দেয় fg
। লগইন শেল থেকে বেরিয়ে আসার পরে অবশিষ্ট ব্যাকগ্রাউন্ড টাস্কগুলি মারা যায়।
এটি সাহায্য করা উচিত
Ctrl+ Zকোনও প্রক্রিয়াটিকে সিগন্যাল সিগস্টপ প্রেরণ করে স্থগিত করার জন্য ব্যবহৃত হয়, যা প্রোগ্রাম দ্বারা বাধা দেওয়া যায় না। যদিও Ctrl+ + Cসংকেত SIGINT সঙ্গে একটি প্রক্রিয়া খুন ও একটি প্রোগ্রাম বাধা দিতে পারে তাই এটি প্রস্থান করার পূর্বে তার স্ব পরিষ্কার করতে পারেন, অথবা এ সব থেকে প্রস্থান না ব্যবহার করা হয়।
SIGTSTP
, যা প্রোগ্রাম দ্বারা ধরা যেতে পারে। চারটি বিভিন্ন সংকেত, যা একটি প্রোগ্রাম স্থগিত করতে পারেন SIGSTOP
, SIGTSTP
, SIGTTIN
, SIGTTOU
। এর মধ্যে কেবল SIGSTOP
অবরুদ্ধ করা যায় না। অন্য তিনটি বিভিন্ন শর্তে প্রক্রিয়া বন্ধ করতে টার্মিনাল দ্বারা ব্যবহৃত হয়।
আপনি যখন ctrl+ cটিপেন, তার অর্থ আপনি আপনার প্রক্রিয়াতে সাইন ইন প্রেরণ করেন। মনে হচ্ছে যে এই কমান্ড টাইপ করুন: kill -SIGINT <your_pid>
। এটি আপনাকে আপনার প্রক্রিয়াটি মেরে ফেলবে। যে কারণে পিএস কমান্ড ইস্যু করার সময় আপনি এটি দেখতে পাচ্ছেন না ।
আপনি যখন ctrl+ zটিপেন, তার অর্থ আপনি নিজের প্রক্রিয়াতে সাইনস্টপ প্রেরণ করেন। মনে হচ্ছে যে এই কমান্ড টাইপ করুন: kill -SIGKSTOP <your_pid>
। এটি আপনার প্রক্রিয়াটি থামিয়ে দেবে, তবে প্রক্রিয়াটি এখনও বেঁচে থাকবে। সুতরাং আপনি আপনার প্রক্রিয়াতে সাইনকন্ট প্রেরণ করে আপনার প্রক্রিয়াটি পুনরায় সক্রিয় করতে পারেন।