অগ্রণী কাজের সাথে সিটিআরএল সি বনাম সিটিআরএল জেড job


26

Ctrl+ Zকাজটি বন্ধ করে দেয় যেখানে Ctrl+ Cচাকরি হত্যার জন্য।

তা কেন? অন্য উপায়ে কি আরও বোধগম্য হবে না?

z@z-lap:~$ sleep 100&
[1] 4458
z@z-lap:~$ sleep 200&
[2] 4459
z@z-lap:~$ jobs
[1]-  Running                 sleep 100 &
[2]+  Running                 sleep 200 &
z@z-lap:~$ fg %1
sleep 100
^Z
[1]+  Stopped                 sleep 100
z@z-lap:~$ jobs
[1]+  Stopped                 sleep 100
[2]-  Running                 sleep 200 &
z@z-lap:~$ fg %1
sleep 100
^C
z@z-lap:~$ jobs
[2]+  Running                 sleep 200 &

4
"অন্য উপায়ে কি আরও বোঝা যায় না?" আপনি কেন এটি মনে করতে পারেন তা নির্দিষ্ট করতে পারেন?
glglgl

উত্তর:


55

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

  • CtrlCকোনও কাজ "থামিয়ে" দেয় না, এটি বাতিল করে দেয় বা হত্যা করে। প্রযুক্তিগতভাবে এটি একটি বিঘ্নিত সংকেত প্রোগ্রামে প্রেরণ করে যা এটি যা করছে তা বাতিল করতে এবং অবিলম্বে প্রস্থান করতে বলে। কিছু প্রোগ্রাম এই সংকেতটি শুনবে এবং প্রস্থান করার আগে কিছু জরুরি অবস্থা নিজের উপর পরিষ্কার করবে। অন্যরা সিগন্যালের প্রতিক্রিয়া জানায় না এবং পরবর্তীকালে কেবল বাতিল হয়ে যায়।

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


আমি এখনও মনে করি যে Ctrl + Z SIGKILL প্রেরণ করবে এবং Ctrl + C স্বাক্ষর প্রেরণ করবে। সুতরাং Ctrl + Z কাজটিও মেরে ফেলবে। তবে আমার উদাহরণ থেকে Ctrl + Z কেবল আপনার মত কাজ বন্ধ করে দেয়। সুতরাং এটি আমাকে কিছুটা বিভ্রান্ত করে তোলে।
নিও 0

10
@ নিও0 - সম্ভবত আপনি কিছু অদ্ভুত কাস্টম সেটআপে অভ্যস্ত? আপনি সেই স্টাফটি কনফিগার করতে পারেন - যদিও আপনার যদি এমন কোনও মানচিত্রের উপর নির্ভর করে এমন কোনও অ্যাপ্লিকেশন না থাকে তবে সম্ভবত আপনার উচিত না। তবে ডিফল্ট কনফিগারেশনটি হ'ল CTRL+C=SIGINTএবং CTRL+Z=SIGTSTP
মাইকজার্ভ

3
কালেব ঠিক (+1)। সিটিআরএল-জেড প্রোগ্রামটি থামায়, যা আপনি এটিকে "হিমশীতল" হিসাবে বিবেচনা করবেন, কিন্তু সেই প্রোগ্রামটি এখনও স্মৃতিতে রয়েছে, এর ফাইলগুলি খোলা আছে ইত্যাদি It এটি নিহত / সমাপ্ত হয় না।
অলিভিয়ার দুলাক

"সাসপেন্ড" "স্টপ" এর চেয়ে পরিষ্কার হতে পারে।
রাসেল বোরোগোভ

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