ব্যাকগ্রাউন্ড লিনাক্সে একটি প্রক্রিয়া পাঠান

Send Process Background Linux



গ্রাফিকাল ডেস্কটপ পরিবেশের সাথে কাজ করার সময়, আমরা খুব কমই ব্যাকগ্রাউন্ড প্রসেস নিয়ে চিন্তা করি। যদি আমাদের সামনে একটি প্রক্রিয়া চলমান থাকে, আমরা দ্রুত আরেকটি টার্মিনাল উইন্ডো তৈরি করতে পারি এবং আমাদের কাজ চালিয়ে যেতে পারি।

যাইহোক, যদি আপনি SSH- এর মতো কাঁচা টার্মিনাল শেলের মধ্যে থাকেন, তাহলে আপনি প্রায়শই শেলটি দখল এবং ব্লক করার প্রক্রিয়াগুলি সম্পর্কে উদ্বিগ্ন বোধ করবেন, যতক্ষণ না সেগুলি সম্পূর্ণ হয়, বিশেষ করে দীর্ঘদিন ধরে চলমান চাকরির ক্ষেত্রে। এখানেই ব্যাকগ্রাউন্ড এবং ফোরগ্রাউন্ড প্রসেসের ধারণা আসে।







এই টিউটোরিয়ালটি লিনাক্সে তৈরি এবং পরিচালনা সহ ব্যাকগ্রাউন্ড এবং ফোরগ্রাউন্ড প্রসেসগুলি কী তা নিয়ে আলোচনা করবে।



একটি প্রক্রিয়া কি?

আমাকে মৌলিক স্তরে শুরু করার অনুমতি দিন: একটি প্রক্রিয়া কী?



লিনাক্সে, একটি প্রক্রিয়া একটি প্রোগ্রামের একটি উদাহরণ। সাধারণত, এর অর্থ শেলের মধ্যে যে কোনও কমান্ড বা এক্সিকিউটেবল একটি প্রক্রিয়া।





প্রধানত দুই ধরনের প্রক্রিয়া আছে:

  • ফোরগ্রাউন্ড প্রসেস
  • ব্যাকগ্রাউন্ড প্রসেস

ফোরগ্রাউন্ড প্রসেসগুলি হল সাধারণত সাধারণ অ্যাপ্লিকেশন যা আমরা চালু করি এবং তাদের সাথে যোগাযোগ করি। একটি উদাহরণ হবে গনোমের নটিলাস ফাইল ম্যানেজার। বেশিরভাগ ক্ষেত্রে, আমরা শেল বা ডেস্কটপ পরিবেশ থেকে ফোরগ্রাউন্ড প্রসেস শুরু করতে পারি।



অন্যদিকে, পটভূমি প্রক্রিয়াগুলি পটভূমিতে চলে এবং ব্যবহারকারীর কোনও ইনপুট বা মিথস্ক্রিয়া প্রয়োজন হয় না। একটি সাধারণ লিনাক্স ডেমন হবে।

ব্যাকগ্রাউন্ডে কীভাবে একটি প্রক্রিয়া চালানো যায়

ধরুন আমাদের একটি প্রক্রিয়া আছে যা চলার সময় শেল সেশন দখল করে এবং আমাদের প্রস্থান না হওয়া পর্যন্ত কমান্ডগুলি কার্যকর করতে বাধা দেয়।

উদাহরণস্বরূপ, যদি আমরা শেলের মধ্যে ফায়ারফক্স ব্রাউজার চালাই, এটি প্রক্রিয়া শেষ না হওয়া পর্যন্ত সেশন দখল করবে।

$ফায়ারফক্স


আপনি দেখতে পাচ্ছেন, যতক্ষণ পর্যন্ত ফায়ারফক্স চলছে, শেল প্রম্পট অনুপলব্ধ, এবং আমরা আর কোন কমান্ড চালাতে পারি না।

এটি সমাধানের জন্য, আমরা এটি দুটি উপায়ে করতে পারি:

1: একটি অ্যাম্পারস্যান্ড ব্যবহার করে (&)

প্রথম পদ্ধতি হল অ্যাম্পারস্যান্ড এবং সাইন ব্যবহার করা। এটি শেলকে ব্যাকগ্রাউন্ডে অ্যাম্পারস্যান্ডের আগে যে কোনও কমান্ড চালাতে বলে।

একটি উদাহরণ:

ফায়ারফক্স&

এই জাতীয় পরিস্থিতিতে, প্রক্রিয়াটি পটভূমিতে সম্পাদিত হয় এবং একটি নতুন শেল প্রম্পট হিসাবে তৈরি হয় যা আমাদের কমান্ডগুলি সম্পাদন চালিয়ে যেতে দেয়।

এটি দুটি সংখ্যাসূচক শনাক্তকারীও দেয়। বর্গাকার বন্ধনীতে আবদ্ধ প্রথমটি হল জব আইডি, পরেরটি হল প্রসেস আইডি।

2: CTRL + Z, bg কমান্ড ব্যবহার করে।

পরবর্তী পদ্ধতি যা আপনি পটভূমিতে একটি প্রক্রিয়া স্থাপন করতে ব্যবহার করতে পারেন সেটি হল CTRL + Z শর্টকাট ব্যবহার করা। এটি প্রক্রিয়াটিকে শেল ব্লক করা বন্ধ করে দেয়। আপনি তারপর ব্যাকগ্রাউন্ডে ধাক্কা দিতে bg কমান্ড ব্যবহার করতে পারেন।

উদাহরণস্বরূপ, ফায়ারফক্স চালু করে শুরু করুন:

$ফায়ারফক্স

প্রক্রিয়া চলাকালীন, CTRL + Z টিপুন। এটি আপনার শেল প্রম্পট ফেরত দেয়। অবশেষে, প্রক্রিয়াটিকে পটভূমিতে ঠেলে দিতে bg কমান্ড লিখুন।

ব্যাকগ্রাউন্ড প্রসেস কিভাবে দেখাবেন

পটভূমিতে প্রক্রিয়াগুলি দেখতে এবং পরিচালনা করতে, শেলটিতে জবস কমান্ড ব্যবহার করুন। এটি বর্তমান টার্মিনাল সেশনে ব্যাকগ্রাউন্ড জব দেখাবে।

উদাহরণ স্বরূপ:

$চাকরি

ব্যাকগ্রাউন্ড কাজের একটি উদাহরণ আউটপুট:

ব্যাকগ্রাউন্ডে চলমান একটি প্রক্রিয়াকে ফোরগ্রাউন্ডে আনার জন্য, fg কমান্ডটি অনুসরণ করে জব আইডি ব্যবহার করুন।

উদাহরণস্বরূপ, ফায়ারফক্সের কাজ অগ্রভাগে আনতে, আমরা কমান্ডটি ব্যবহার করি:

$fg %

আবার ব্যাকগ্রাউন্ডে রাখতে, CTRL + Z টিপুন এবং bg কমান্ড অনুসরণ করুন।

শেল মারা যাওয়ার পরে কীভাবে একটি প্রক্রিয়া স্থায়ী করা যায়

যখন আপনি পটভূমিতে প্রক্রিয়াগুলি চালাচ্ছেন, এবং আপনার শেল সেশনটি মারা যায়, এর সাথে সম্পর্কিত সমস্ত প্রক্রিয়া বন্ধ হয়ে যায়, যা সমস্যাযুক্ত হতে পারে, বিশেষত যদি এটি একটি এসএসএইচ সেশন হয়।

যাইহোক, এটি খুব বড় সমস্যা নয় যদি আপনি একটি টার্মিনাল মাল্টিপ্লেক্সার ব্যবহার করেন যেমন tmux বা স্ক্রিন কারণ, সেই ক্ষেত্রে, আপনি কেবল সেশনটি পুনরায় সংযুক্ত করতে পারেন।

যাইহোক, যদি আপনি মাল্টিপ্লেক্সার ছাড়াই শেল সেশন চালান, আপনি nohup কমান্ড ব্যবহার করতে পারেন।

নোহুপ কমান্ড হ্যাং-আপের জন্য প্রতিরোধী এবং একটি প্রক্রিয়ায় পাঠানো SIGHUP সংকেত উপেক্ষা করতে পারে।

অতএব, যদি আপনি নোহুপের সাথে একটি কমান্ড চালান, শেল সেশনটি দুর্ঘটনাক্রমে মারা গেলেও এটি চলতে থাকে।

উদাহরণস্বরূপ, nohup দিয়ে ফায়ারফক্স চালানোর জন্য, কমান্ডটি ব্যবহার করুন:

nohupফায়ারফক্স&

এই প্রক্রিয়াটি পটভূমিতে চালানো হবে যেমন একটি শেল বন্ধ হয়ে যায়।

আপনি একটি নতুন টার্মিনাল সেশন চালাতে পারেন এবং পটভূমির কাজগুলি দেখতে পারেন। আপনি দেখতে পাবেন প্রক্রিয়াটি এখনও পটভূমিতে চলছে।

উপসংহার

এই টিউটোরিয়ালে, আমরা লিনাক্সে ব্যাকগ্রাউন্ডে প্রক্রিয়াগুলি চালানোর এবং পাঠানোর বিভিন্ন উপায় নিয়ে আলোচনা করেছি। আমরা ব্যাকগ্রাউন্ডে একটি ব্যাকগ্রাউন্ড প্রসেস কিভাবে আনা যায় এবং শেল টার্মিনেশনে হ্যাং-আপ অব্যাহত রাখা যায় তাও আমরা কভার করেছি।