ধরা যাক আপনার জিএনইউ screen
এবং tmux
(এবং এক্স 11, এবং ভার্চুয়াল কনসোল) উভয়েরই অভাব রয়েছে তবে লগইন শেল এবং অন্য একটি ইন্টারেক্টিভ শেলের মধ্যে স্যুইচ করতে চান।
আপনি প্রথমে কনসোলে লগইন করবেন এবং তারপরে অস্থায়ীভাবে লগইন শেলটি ব্লক করে একটি নতুন শেল শুরু করবেন। সেখানে কিছু কাজ করার জন্য লগইন শেলটি ফিরে পেতে, আপনি চাইবেন suspend
। তারপরে আপনি fg
ইন্টারেটিভ শেলটি সেখানে যা কিছু করেছিলেন তার সাথে চালিয়ে যেতে ফিরে পাবেন।
বস্তুত, কাজ নিয়ন্ত্রণ সঙ্গে, লগ-ইন শেল আপনার সাথে স্যুইচ করতে পারে যে পটভূমি কাজ যেমন ইন্টারেক্টিভ শেল একটি নম্বর ডিম পারে fg %1
, fg %2
ইত্যাদি, কিন্তু ফিরে লগ-ইন শেল পেতে, আপনি ব্যবহার করতে হবে suspend
যদি না আপনি নিজে চেয়েছিলেন kill -s STOP $$
।
এছাড়াও লক্ষ করুন যে Ctrl+ Zইন্টারেক্টিভ শেলের প্রম্পটে এটি স্থগিত করবে না।
সম্পাদনা:suspend
স্ক্রিপ্টের ব্যবহার সম্পর্কে আমার প্রাথমিকভাবে একটি দীর্ঘ অনুমানমূলক অংশ ছিল , তবে যেহেতু কমান্ডটি কাজের নিয়ন্ত্রণ প্রয়োজন এবং অ ইন্টারেক্টিভ শেলগুলি সাধারণত কাজের নিয়ন্ত্রণ রাখে না, তাই আমি এই বিভাগটি মুছে ফেলেছিলাম।
suspend
প্রতিস্থাপন সহ মুছে ফেলা বিভাগ kill -s STOP $$
(এটি আসলে উত্তরটির সাথে আর অন্তর্ভুক্ত নয়, তবে এটি অন্যের পক্ষে আকর্ষণীয় হতে পারে):
ধরা যাক আপনার কোনও স্ক্রিপ্টে একটি ব্যাকগ্রাউন্ড প্রক্রিয়া (একটি স্ক্রিপ্ট) রয়েছে এবং এই পটভূমি প্রক্রিয়াটির কোনও পর্যায়ে অভিভাবক প্রক্রিয়াটি এটি চালিয়ে যাওয়ার জন্য অপেক্ষা করা এবং অপেক্ষা করা দরকার। এটি এমনটি হতে পারে যাতে পিতামাতার কাছে ফাইলগুলি জায়গা থেকে বের করার এবং সেই জাতীয় কিছুতে নিয়ে যাওয়ার সময় থাকে।
চাইল্ড স্ক্রিপ্ট ( kill -s STOP $$
) সাসপেন্ড করে দেবে এবং CONT
যখন চালিয়ে যাওয়া ঠিক হবে ঠিক তখন পিতা-মাতার স্ক্রিপ্ট এতে সংকেত পাঠাত।
এটি আপনাকে পিতামাতা প্রক্রিয়া এবং একটি শিশু প্রক্রিয়ার মধ্যে এক ধরণের সিঙ্ক্রোনাইজেশন প্রয়োগ করার সুযোগ দেয় (যদিও পিতামাত শেল প্রক্রিয়া হিসাবে খুব বেসিক কমবেশি অনুমান করা দরকার যে শিশু প্রক্রিয়া স্থগিত করা হয়েছে, যদিও এটি সন্তানের দ্বারা স্থির করা যেতে পারে ফাঁদে ফেলা CONT
এবং যদি খুব শীঘ্রই এই সংকেতটি পাওয়া যায় তবে সাসপেন্ড করবেন না)।
fork/exec