ব্যাকগ্রাউন্ড এবং ফরগ্রাউন্ড জব: bg, fg, jobs
UNIX এবং LINUX অপারেটিং সিস্টেমে ব্যাকগ্রাউন্ড এবং ফরগ্রাউন্ড জব ব্যবস্থাপনা অত্যন্ত গুরুত্বপূর্ণ। এগুলি সিস্টেমের মধ্যে একাধিক প্রক্রিয়া বা কাজ পরিচালনা করতে সাহায্য করে, যাতে ব্যবহারকারীরা একযোগভাবে একাধিক কাজ করতে পারেন। এর জন্য বিভিন্ন কমান্ড ব্যবহার করা হয়, যেমন bg, fg, এবং **jobs**।
1. ব্যাকগ্রাউন্ড জব (Background Job)
ব্যাকগ্রাউন্ড জব হল এমন একটি প্রক্রিয়া যা চালু থাকা অবস্থায় শেলের কন্ট্রোলের বাইরে চলে যায়। এটি মূল শেলের সাথে সরাসরি সংযুক্ত থাকে না, তাই ব্যবহারকারী শেলের অন্যান্য কাজ চালানোর সময় এই প্রক্রিয়া চলতে থাকে।
যখন কোনো প্রোগ্রাম ফরগ্রাউন্ডে চলে, তখন সেটি শেলের কন্ট্রোল নেয় এবং ব্যবহারকারী তার সাথে সরাসরি কাজ করতে থাকে। কিন্তু যদি ব্যবহারকারী সেই প্রোগ্রামটি ব্যাকগ্রাউন্ডে চালাতে চায়, তবে সেটি অন্য প্রসেস হিসেবে চলে এবং ব্যবহারকারী আবার শেলের সাথে কাজ করতে পারেন।
ব্যাকগ্রাউন্ডে প্রোগ্রাম চালানোর জন্য & ব্যবহার করা হয়।
উদাহরণ:
long_running_process &এই কমান্ডটি long_running_process প্রোগ্রামটি ব্যাকগ্রাউন্ডে চালাবে এবং ব্যবহারকারী আবার শেলের সাথে কাজ করতে পারবে।
2. ফরগ্রাউন্ড জব (Foreground Job)
ফরগ্রাউন্ড জব হল একটি প্রক্রিয়া যা শেলের কন্ট্রোলের মধ্যে চলে আসে, এবং এর আউটপুট সরাসরি শেলে প্রদর্শিত হয়। ফরগ্রাউন্ডে একটি প্রোগ্রাম চালানোর সময়, শেলের কন্ট্রোল ওই প্রক্রিয়ায় থাকে এবং অন্য কোনো কমান্ড চালানো যায় না যতক্ষণ না এটি সম্পূর্ণ হয়।
যখন একটি প্রোগ্রাম ফরগ্রাউন্ডে চলে, তখন তা শেলের পুরো কন্ট্রোল নিয়ে নেয়, এবং এর কাজ শেষ হওয়া পর্যন্ত ব্যবহারকারী আর কোনো কমান্ড চালাতে পারেন না।
উদাহরণ:
long_running_processএই কমান্ডটি long_running_process প্রোগ্রামটি ফরগ্রাউন্ডে চালাবে এবং এটি সম্পন্ন না হওয়া পর্যন্ত শেল থেকে অন্য কোনো কাজ করা যাবে না।
3. bg কমান্ড
bg (ব্যাকগ্রাউন্ড) কমান্ড ব্যবহার করা হয় একটি স্টপ করা (paused) জবকে ব্যাকগ্রাউন্ডে চালানোর জন্য। শেল যখন কোনো জবকে স্টপ করে দেয়, তখন আপনি bg কমান্ড ব্যবহার করে সেই জবকে ব্যাকগ্রাউন্ডে চালাতে পারেন।
ব্যবহার:
bg [job_id]এখানে, job_id হল সেই জবের আইডি যেটি আপনি ব্যাকগ্রাউন্ডে চালাতে চান। যদি কোনো job_id না দেয়া হয়, তবে এটি শেষ স্টপ করা জবটিকে ব্যাকগ্রাউন্ডে চালাবে।
উদাহরণ:
bg 1এই কমান্ডটি job_id 1 নামক স্টপ করা জবটিকে ব্যাকগ্রাউন্ডে চালাবে।
4. fg কমান্ড
fg (ফরগ্রাউন্ড) কমান্ড ব্যবহার করা হয় ব্যাকগ্রাউন্ডে চলমান একটি জবকে ফরগ্রাউন্ডে আনার জন্য। এর মাধ্যমে, আপনি যে ব্যাকগ্রাউন্ড জবটি চালাচ্ছেন, সেটিকে শেলের কন্ট্রোলের মধ্যে ফিরিয়ে আনতে পারবেন এবং তার আউটপুট দেখতে পারবেন।
ব্যবহার:
fg [job_id]এখানে, job_id হল সেই জবের আইডি যেটি আপনি ফরগ্রাউন্ডে আনার জন্য চান। যদি কোনো job_id না দেয়া হয়, তবে এটি শেষ ব্যাকগ্রাউন্ড জবটিকে ফরগ্রাউন্ডে নিয়ে আসবে।
উদাহরণ:
fg 1এই কমান্ডটি job_id 1 নামক ব্যাকগ্রাউন্ড জবটিকে ফরগ্রাউন্ডে নিয়ে আসবে।
5. jobs কমান্ড
jobs কমান্ড ব্যবহৃত হয় বর্তমান শেলের মধ্যে চলমান সমস্ত জবের তালিকা দেখতে। এটি ফরগ্রাউন্ড এবং ব্যাকগ্রাউন্ডে চলমান জবগুলির স্টেট (যেমন চলমান, সাসপেন্ড বা স্টপ করা) দেখায়।
ব্যবহার:
jobsউদাহরণ:
jobsএই কমান্ডটি সমস্ত চলমান জবের তালিকা দেখাবে, তাদের স্ট্যাটাসসহ (যেমন Running, Stopped, ইত্যাদি)।
আউটপুট উদাহরণ:
[1]+ 2345 Running long_running_process &
[2]- 2346 Stopped another_processএখানে, 2345 এবং 2346 হল জবের আইডি, এবং Running এবং Stopped হল তাদের স্টেট।
ব্যাকগ্রাউন্ড এবং ফরগ্রাউন্ড জব ব্যবস্থাপনা
| কমান্ড | বর্ণনা | উদাহরণ |
|---|---|---|
bg | স্টপ করা জবকে ব্যাকগ্রাউন্ডে চালানো | bg 1 |
fg | ব্যাকগ্রাউন্ড জবকে ফরগ্রাউন্ডে আনা | fg 1 |
jobs | সমস্ত চলমান জবের তালিকা দেখা | jobs |
সারসংক্ষেপ
ব্যাকগ্রাউন্ড জব এবং ফরগ্রাউন্ড জব ব্যবস্থাপনা UNIX এবং LINUX সিস্টেমে খুবই গুরুত্বপূর্ণ। bg কমান্ড ব্যাকগ্রাউন্ডে একটি জব চালাতে সাহায্য করে, fg কমান্ড একটি ব্যাকগ্রাউন্ড জবকে ফরগ্রাউন্ডে নিয়ে আসে, এবং jobs কমান্ড চলমান জবের তালিকা প্রদর্শন করে। এই কমান্ডগুলির মাধ্যমে ব্যবহারকারীরা সহজেই তাদের কাজের প্রবাহ নিয়ন্ত্রণ করতে পারেন।
Read more