ব্যাকগ্রাউন্ডে লিনাক্স কমান্ড চালানোর ফলে কমান্ডটি চলমান থাকা অবস্থায় ব্যবহারকারীকে অন্যান্য কাজ সম্পাদন করা চালিয়ে যেতে দেয়। পটভূমিতে একটি কমান্ড চালানোর জন্য একাধিক উপায় আছে; সহজ পদ্ধতিগুলির মধ্যে একটি হল একটি যোগ করে অ্যাম্পারস্যান্ড (&) কমান্ড লাইনের শেষে।
একবার একটি প্রক্রিয়া ব্যাকগ্রাউন্ডে চালানোর জন্য সেট করা হলে, আমরা এটি ব্যবহার করে অ্যাক্সেস করতে পারি চাকরি আদেশ এই নিবন্ধটি ব্যাকগ্রাউন্ডে একটি কমান্ড চালানোর সমস্ত বিভিন্ন উপায় বৈশিষ্ট্যযুক্ত।
একটি পটভূমি প্রক্রিয়া চালানোর বিভিন্ন উপায়ের তালিকা নিম্নরূপ:
একটি ব্যাকগ্রাউন্ড প্রক্রিয়া চালানোর জন্য সমস্ত পদ্ধতির বিশদ নীচে দেওয়া হল:
1: Ampersand (&) চিহ্ন ব্যবহার করা
লিনাক্সে অ্যাম্পারস্যান্ড (&) হল একটি শেল অপারেটর যা একটি পৃথক প্রক্রিয়া হিসাবে পটভূমিতে একটি কমান্ড পাঠায়। একটি কমান্ডের সাথে অ্যাম্পারস্যান্ড (&) একত্রিত করে, এটি একটি পটভূমি প্রক্রিয়া হিসাবে কার্যকর করা হবে, যা শেলকে অবিলম্বে অন্যান্য কমান্ড প্রক্রিয়াকরণ চালিয়ে যেতে দেয়।
Ampersand চিহ্ন ব্যবহার করে একটি পটভূমি প্রক্রিয়ার জন্য সিনট্যাক্স:
$ [ আদেশ ] এবং
এম্পারস্যান্ড চিহ্ন সর্বদা কমান্ডের শেষে একটি একক স্থানের মধ্যে যোগ করা হয় '&' এবং কমান্ডের শেষ চরিত্র।
উদাহরণস্বরূপ, 40 সেকেন্ডের জন্য একটি ঘুমের প্রক্রিয়া তৈরি করুন।
$ ঘুম 40
আমরা দেখতে পাচ্ছি, টার্মিনাল স্লিপ কমান্ড চালাচ্ছে এবং আমাদের অন্য কোন কাজ করতে দিচ্ছে না।
এখন চাপুন 'Ctrl + Z' এই প্রক্রিয়া বন্ধ করতে। এর পরে, আমরা এইবার একই স্লিপ কমান্ড চালাব কিন্তু এটির সাথে একটি অ্যাম্পারস্যান্ড অপারেটর ব্যবহার করলে এটি ব্যাকগ্রাউন্ডে সেট আপ হবে।
এখন এই প্রক্রিয়াটি পটভূমিতে রয়েছে। ব্যাকগ্রাউন্ড চলমান প্রক্রিয়া তালিকাভুক্ত করতে ব্যবহার করুন:
এখন এই ব্যাকগ্রাউন্ড প্রক্রিয়াটি ব্যবহার করে হত্যা করুন:
উদাহরণস্বরূপ, বর্তমান চলমান ঘুমের প্রক্রিয়াটি মেরে ফেলতে ব্যবহার করুন:
এখন ঘুমের প্রক্রিয়াটি ব্যবহার করে ব্যাকগ্রাউন্ড চলমান প্রক্রিয়ার তালিকা নিশ্চিত করতে হত্যা করা হয়।
এখানে ব্যবহারের আরেকটি উদাহরণ এবং অ্যাম্পারস্যান্ড সাইন gedit কমান্ড সহ।
উদাহরণস্বরূপ, যদি আমরা টার্মিনাল ব্যবহার করে সরাসরি জিডিট টেক্সট এডিটর খুলি তবে আমরা অন্য কাজের জন্য শেল ব্যবহার করতে বাধ্য হব অন্যথায় আমাদের বর্তমান প্রক্রিয়াটি প্রথমে বন্ধ করতে হবে।
$ gedit
উপরের কমান্ডটি ব্যবহার করে টেক্সট এডিটর খুলবে যা এটি টার্মিনালের সামনে খুলবে।
কিন্তু gedit কমান্ডের শেষে “&” ব্যবহার করার পরে, শেলটি অন্যান্য প্রক্রিয়ার জন্য বিনামূল্যে ব্যবহার করা যায়:
2: 'bg' কমান্ড ব্যবহার করে
bg কমান্ড হল ব্যাকগ্রাউন্ডে কমান্ড চালানোর দ্বিতীয় উপায়। এই কমান্ডটি ব্যবহারকারীকে টার্মিনালে কাজ চালিয়ে যাওয়ার অনুমতি দেয় যখন প্রক্রিয়াটি পটভূমিতে চলে, টার্মিনালটিকে অন্যান্য কাজের জন্য মুক্ত করে। বিজি কমান্ডটি একটি দীর্ঘ চলমান ব্যাকগ্রাউন্ড প্রক্রিয়ার জন্য ব্যবহৃত হয় যা এমনকি ব্যবহারকারী লগ আউট করলেও চলে।
একটি অ্যাম্পারস্যান্ড সাইনের মতো আমাদের প্রতিবার কমান্ডে যোগ করার বিষয়ে চিন্তা করতে হবে না শুধুমাত্র টার্মিনালে বিজি টেক্সট পাঠান। এটি পটভূমিতে প্রক্রিয়াটি চালানো শুরু করবে এবং ভবিষ্যতে ব্যবহারের জন্য টার্মিনালটিকে মুক্ত করবে।
উদাহরণস্বরূপ, আগের উদাহরণটি ব্যবহার করুন এবং ঘুমের কমান্ডটি ব্যবহার করে পাঠান:
$ ঘুম 40
এখন প্রক্রিয়া চলছে এবং টার্মিনাল ব্যবহারের জন্য উপলব্ধ নয়। bg কমান্ডটি ব্যবহার করতে এবং এই প্রক্রিয়াটিকে পটভূমিতে পাঠাতে আমাদের প্রথমে চাপ দিয়ে বর্তমান নির্বাহ প্রক্রিয়া বন্ধ করতে হবে 'Ctrl+ Z' এবং এই কমান্ডটি কার্যকর করা হচ্ছে:
বিজি কমান্ড পাঠানোর পর ব্যাকগ্রাউন্ডে স্লিপ প্রক্রিয়া চলতে থাকে। আমরা শেষে একটি ampersand “&” দেখতে পাচ্ছি, যা ইঙ্গিত করে যে বর্তমান প্রক্রিয়াটি ব্যাকগ্রাউন্ডে চলছে।
ব্যাকগ্রাউন্ড প্রক্রিয়া চেক করতে কাজ কমান্ড চালান:
পটভূমিতে চলমান কমান্ড পরীক্ষা করতে ব্যবহার করুন:
বর্তমান প্রক্রিয়াটি হত্যা করতে, এর কাজের আইডিটি হত্যা কমান্ডের সাথে ব্যবহার করুন। কাজের আইডি চেক করতে, চালান:
কাজের আইডি ব্যবহার করে হত্যার প্রক্রিয়া জানার পরে:
উদাহরণস্বরূপ, বর্তমান চলমান ঘুমের প্রক্রিয়াটি মেরে ফেলতে ব্যবহার করুন:
প্রক্রিয়াটি মেরে ফেলা হয়েছে কিনা তা নিশ্চিত করতে কাজ কমান্ডটি আবার চালান:
আমরা দেখতে পাচ্ছি ঘুমের প্রক্রিয়া আর ব্যাকগ্রাউন্ডে চলছে না:
3: nohup কমান্ড ব্যবহার করে
লিনাক্সে চলমান ব্যাকগ্রাউন্ড প্রসেসগুলির তালিকায় nohup কমান্ডটি তৃতীয়। কমান্ডটি 'নো হ্যাং আপ' এর জন্য দাঁড়ায় এবং টার্মিনাল সেশন শেষ না হওয়া পর্যন্ত প্রক্রিয়াটি বন্ধ হওয়া থেকে বিরত রাখতে ব্যবহৃত হয়। যখন nohup ব্যবহার করে একটি প্রক্রিয়া চালানো হয়, ব্যবহারকারী লগ আউট করলেও এটি চলতে থাকে এবং প্রক্রিয়াটির আউটপুট নামের একটি ফাইলে পুনঃনির্দেশিত হয় 'nohup.out' .
ব্যাকগ্রাউন্ডে ক্রমাগত Google পিং করার nohup কমান্ড হল এবং আউটপুট একটি টেক্সট ফাইল GooglePing.txt-এ পুনঃনির্দেশিত হয়:
$ nohup পিং গুগল কম > GooglePing.txt এবং
এই কমান্ডটি লেখার পরে আমরা দেখতে পাচ্ছি টার্মিনালটি বিনামূল্যে এবং পটভূমিতে ক্রমাগত Google পিং করার জন্য একটি পটভূমি প্রক্রিয়া চলছে।
লগ ফাইল অ্যাক্সেস করতে, আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারি:
হোম স্ক্রীন থেকে GUI ব্যবহার করে লগ ফাইলটিও অ্যাক্সেস করা যেতে পারে।
4: ডিসঅন কমান্ড ব্যবহার করে
ডিসঅন কমান্ড শেল থেকে একটি প্রক্রিয়া সরিয়ে দেয় এবং পটভূমিতে চালায়। যখন একটি প্রক্রিয়া প্রত্যাখ্যান করা হয়, এটি আর টার্মিনালের সাথে যুক্ত থাকে না এবং ব্যবহারকারী লগ আউট বা টার্মিনাল বন্ধ করার পরেও এটি চলতে থাকে।
পূর্বে আমরা ampersand “&” কমান্ড ব্যবহার করেছি যা প্রক্রিয়াটিকে কার্যকর করার পরে পটভূমিতে পাঠায় কিন্তু শেলটি বন্ধ করার সাথে সাথে প্রক্রিয়াটি বন্ধ হয়ে যায়। এই ডিসঅন কমান্ড থেকে পরিত্রাণ পেতে আছে.
ডিসঅন কমান্ডটি স্বাধীনভাবে কাজ করতে পারে না তবে পটভূমিতে ন্যূনতম একটি প্রক্রিয়া চলতে হবে।
a দিয়ে নিচের কমান্ডটি চালান এবং ampersand সাইন যা আপনার কমান্ডকে ব্যাকগ্রাউন্ডে পাঠাবে।
$ পিং গুগল কম > GooglePing.txt এবং
ফাইলটি তৈরি হওয়ার পরে আমরা jobs কমান্ড ব্যবহার করে এটি তালিকাভুক্ত করতে পারি।
এখন আমাদের প্রক্রিয়াটি টার্মিনাল ব্যবহার থেকে বিচ্ছিন্ন করার জন্য পটভূমিতে চলছে:
টার্মিনাল থেকে প্রক্রিয়াটি বিচ্ছিন্ন হয়েছে তা নিশ্চিত করতে আবার চাকরি কমান্ড চালান:
যেহেতু আমাদের প্রক্রিয়া বর্তমানে চলছে কিন্তু এটি আর টার্মিনালের ভিতরে দেখানো হয় না:
আমাদের প্রক্রিয়া নিশ্চিত করতে, আমরা সেই পিং ফাইলটি অ্যাক্সেস করতে cat কমান্ড ব্যবহার করতে পারি:
আমরা টার্মিনাল থেকে এই প্রক্রিয়াটিকে সফলভাবে বিচ্ছিন্ন করেছি কিন্তু এটি এখনও পটভূমিতে চলছে।
5: tmux ইউটিলিটি ব্যবহার করা
Tmux হল এক ধরনের টার্মিনাল মাল্টিপ্লেক্সার ইউটিলিটি। tmux ব্যবহার করে আমরা একটি শেলের মধ্যে একাধিক টার্মিনাল সেশন তৈরি করতে পারি। এটি পটভূমিতে প্রসেস চালানোর ক্ষমতা প্রদান করে।
Tmux-এ একটি পটভূমি প্রক্রিয়া চালানোর জন্য, আপনি একটি নতুন সেশন তৈরি করতে পারেন এবং তারপর d-এর পরে Ctrl-b কী সমন্বয় ব্যবহার করে এটি থেকে বিচ্ছিন্ন করতে পারেন।
উবুন্টু এবং লিনাক্স মিন্ট ব্যবহারে tmux ইউটিলিটি ইনস্টল করতে:
$ sudo উপযুক্ত ইনস্টল tmux
ফেডোরা রানে ইনস্টল করতে:
আর্চ লিনাক্সে ইনস্টল করতে রান করুন:
এখন একটি নতুন টার্মিনাল খুলতে tmux কমান্ড চালান:
একটি নতুন tmux সেশন তৈরি করতে ব্যবহার করুন:
সমস্ত tmux সেশন ব্যবহার তালিকাভুক্ত করতে:
একটি tmux সেশন হত্যা করার জন্য কমান্ডটি ব্যবহার করুন:
যেমন হত্যা করা '0' tmux সেশন ব্যবহার:
এখানে আমরা বর্তমান চলমান tmux সক্রিয় অধিবেশন তালিকাভুক্ত করেছি এবং উপরের কমান্ড ব্যবহার করে এটিকে মেরে ফেলি:
-
- tmux সেশন থেকে বিচ্ছিন্ন করতে প্রেস করুন 'Ctrl+B+D' .
- সমস্ত কমান্ডের একটি তালিকা পেতে টিপুন 'Ctrl+B+?' .
- tmux উইন্ডোজের মধ্যে স্থানান্তর করতে টিপুন 'Ctrl+B+O' .
tmux টার্মিনাল উল্লম্বভাবে বিভক্ত করতে, টিপুন 'Ctrl+B' এবং টাইপ করুন % .
থেকে মূল টার্মিনাল ফিরে পেতে tmux ব্যবহার করুন:
উপসংহার
লিনাক্সে ব্যাকগ্রাউন্ড অ্যাপ্লিকেশন চালানো একটি শক্তিশালী বৈশিষ্ট্য যা ব্যবহারকারীদের টার্মিনাল থেকে লগ আউট বা উইন্ডো বন্ধ করার পরেও তাদের দীর্ঘ-চলমান কাজগুলি চালিয়ে যেতে দেয়। সাধারণত একটি অ্যাম্পারস্যান্ড এবং সাইন বা bg কমান্ড ব্যাকগ্রাউন্ডে একটি প্রক্রিয়া পাঠাতে ব্যবহৃত হয়। তবে, আমরাও ব্যবহার করতে পারি nohup বা অস্বীকার টার্মিনাল থেকে একটি প্রক্রিয়া বিচ্ছিন্ন করার কমান্ড। শেষ পর্যন্ত, আমরা ব্যবহার করতে পারেন tmux ইউটিলিটি একাধিক টার্মিনাল তৈরি করতে এবং টার্মিনালকে বিরক্ত না করে ব্যাকগ্রাউন্ড প্রসেস চালাতে।