বাংলায় শেল ও শেলস্ক্রিপ্টিং শেখার কোর্স
  • শুরুর কথা
  • প্রথম খন্ড - শেল বেসিক
    • প্রথম অধ্যায় - শেল বেসিক
      • শেল ও প্রম্পট
      • কমান্ড
      • নেভিগেশন
      • আরো একটু ls
      • ফাইল
      • লিঙ্ক
      • লিনাক্স ফাইলসিস্টেম
    • দ্বিতীয় অধ্যায় - ম্যানিপুলেশন
      • ওয়াইল্ডকার্ড
      • ফাইল ও ডিরেক্টরি তৈরি করা
      • ফাইল ও ডিরেক্টরি কপি করা
      • ফাইল ও ডিরেক্টরি মুভ করা
      • ফাইল ও ডিরেক্টরি রিমুভ করা:
      • হার্ডলিঙ্ক ও সফ্টলিঙ্ক তৈরি করা
      • অনুশীলন
    • তৃতীয় অধ্যায় - রিডিরেকশন
      • স্ট্যান্ডার্ড ইনপুট, আউটপুট এবং এরর
      • স্ট্যান্ডার্ড আউটপুট রিডিরেকশন
      • স্ট্যান্ডার্ড এরর রিডিরেকশন
      • স্ট্যান্ডার্ড আউটপুট ও এরর একত্রে রিডিরেকশন
      • ফাইল সংযুক্তিকরণ
      • পাইপলাইন
    • চতুর্থ অধ্যায় - শেলের চোখে দেখা
      • এক্সপ্যানসন
      • পাথনেম এক্সপ্যানসন
      • গানিতিক এক্সপ্যানসন
      • ব্রেস এক্সপ্যানসন
      • প্যারামিটার এক্সপ্যানসন
      • কমান্ড সাবস্টিটিউশন
      • ক্যোটিং
      • স্কেইপিং ক্যারেক্টার
    • পঞ্চম অধ্যায় - কীবোর্ড ট্রিক্স
      • কমান্ডলাইন এডিটিং
      • কমপ্লিশন
      • কমান্ড হিস্ট্রি
    • ষষ্ঠ অধ্যায় - পারমিশন
      • ওনার, গ্রুপ এবং অন্যান্য
      • এক্সেস রাইট
      • ফাইল পারমিশন পরিবর্তন
      • ফাইল পারমিশন মাস্কিং
      • বিশেষ পারমিশন
      • ওনার ইউজার ও গ্রুপ পরিবর্তন
      • পরিচয় পরিবর্তন
      • পাসওয়ার্ড পরিবর্তন
    • সপ্তম অধ্যায় - প্রসেস
      • প্রসেস এর প্রাথমিক ধারণা
      • প্রসেস দেখা
      • প্রসেস নিয়ন্ত্রণ
      • সিগন্যাল
  • দ্বিতীয় খন্ড - কনফিগারেশন ও এনভায়রনমেন্ট
    • প্রথম অধ্যায় - এনভায়রনমেন্ট
      • এনভায়রনমেন্টের ভিতরে দেখা
      • যেভাবে এনভায়রনমেন্ট তৈরী হয়
      • এনভায়রনমেন্ট পরিবর্তন
    • দ্বিতীয় অধ্যায় - প্রম্পট সম্পাদনা
      • প্রম্পট কাস্টমাইজেশন
      • প্রম্পট রঙ করা
      • কার্সরের অবস্থান পরিবর্তন
  • তৃতীয় খন্ড - আটপৌরে কমান্ডলাইন
    • প্রথম অধ্যায় - প্যাকেজ ম্যানেজমেন্ট
    • দ্বিতীয় অধ্যায় - টেক্সট এডিটর
      • ন্যানো
        • ন্যানোর প্রাথমিক ব্যবহার
        • ন্যানো - এডিটিং এবং নেভিগেশন
        • ন্যানো কনফিগারেশন
      • ভিম
        • ভিম-এর এডিটিং মোড
        • ভিম-এর বেসিক এডিটিং
        • ভিম: সার্চ এ্যান্ড রিপ্লেস
        • ভিম: একাধিক ফাইল নিয়ে কাজ করা
      • ইম্যাকস্
        • ইম্যাকস্: প্রথম ধাপ
        • ইম্যাকস্: ক্যারেক্টার, কী এবং কমান্ড
        • ইম্যাকস্: বেসিক এডিটিং
        • ইম্যাকস্: সার্চ এ্যান্ড রিপ্লেস
        • ইম্যাকস্: একাধিক ফাইল এডিট করা
    • তৃতীয় অধ্যায় - স্টোরেজ মিডিয়া
      • লিনাক্সের চোখে স্টোরেজ ডিভাইস
      • মাউন্ট এবং আনমাউন্ট
      • পার্টিশন এবং ফরম্যাট করা
      • ফাইলসিস্টেম টেস্ট এবং রিপেয়ার করা
      • ডিভাইস ক্লোনিং
      • ইমেজ তৈরী
      • অপটিক্যাল মিডিয়ায় রাইট করা
    • চতুর্থ অধ্যায় - নেটওয়ার্কিং
      • নেটওয়ার্ক পরীক্ষণ এবং পর্যবেক্ষন
      • ফাইল ট্রান্সফার
      • নিরাপদ যোগাযোগ
    • পঞ্চম অধ্যায় - ফাইল সার্চ
      • Locate: নাম দিয়ে ফাইল সার্চ
      • find: শক্তিশালী সার্চ
        • find: টেস্ট
        • find: অপারেটর
        • find: একশন
        • find: অপশন
        • অনুশীলন
    • ষষ্ঠ অধ্যায় - আর্কাইভ ও ব্যাকআপ
      • ডাটা কম্প্রেশন
      • ডাটা আর্কাইভিং
      • dtrx
      • সিনক্রোনাইজেশন
    • সপ্তম অধ্যায় - আটপৌরে টুলস
      • রেঞ্জার(Ranger): ফাইল ম্যানেজার
      • মাট (Mutt): ইমেইল ক্লায়েন্ট
      • সিমিউজ(cmus): মিউজিক প্লেয়ার
      • ইলিঙ্কস (elinks): ওয়েব ব্রাউজার
      • উইচ্যাট (weechat) : আইআরসি ক্লায়েন্ট
      • ফিঞ্চ (finch) : চ্যাট ক্লায়েন্ট
    • অষ্টম অধ্যায় - প্রোগ্রাম কম্পাইলেশন
  • চতুর্থ খন্ড - টেক্সট ম্যানিপুলেশন
    • প্রথম অধ্যায় - রেগুলার এক্সপ্রেশন
      • গ্রেপ (grep)
Powered by GitBook
On this page
  • প্রসেস ব্যহত(বন্ধ) বা ইন্টারাপ্ট করা
  • প্রসেস ব্যাকগ্রাউন্ডে চালু করা
  • প্রসেস ফোরগ্রাউন্ডে আনা
  • প্রসেস বিরত(Pause) রাখা
  1. প্রথম খন্ড - শেল বেসিক
  2. সপ্তম অধ্যায় - প্রসেস

প্রসেস নিয়ন্ত্রণ

আগের লেসনে আমরা প্রসেস দেখা বা মনিটর করার দুটি কমান্ড দেখেছি। এই লেসনে আমরা প্রসেস নিয়ন্ত্রণ করতে শিখবো। যেহেতু যেকোনো প্রসেস নিয়ে পরীক্ষা-নিরীক্ষা করা বিপদজনক হতে পারে তাই আমরা xlogo নামের একটি কমান্ডের উপর পরীক্ষা চালাবো। এই কমান্ডটি দিলে আপনি স্ক্রীনে X Window System যা কিনা আপনার গ্রাফিকাল ডেস্কটপের প্রাণ তার একটি লোগো দেখাবে। অতি নিরীহ এই প্রোগ্রামটি নিয়ে গবেষণা করতে বিপদের ঝুঁকি নেই। আপনার লিনাক্স সিস্টেমে গ্রাফিকাল এনভায়রনমেন্ট থাকে এই প্রোগ্রামটি ইন্সটল থাকারই কথা। না থাকলে gedit বা kwrite ব্যবহার করতে পারেন। এগুলো যথাক্রমে জিনোম ও কেডিই এর টেক্সট এডিটর।

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

প্রসেস ব্যহত(বন্ধ) বা ইন্টারাপ্ট করা

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

প্রসেস ব্যাকগ্রাউন্ডে চালু করা

এমন প্রয়োজন হতে পারে(বা এমনটাই অধিকাংশ সময় প্রয়োজন হয়) যে আপনি একটি প্রোগ্রাম টার্মিনাল থেকে চালু করলেন এবং সেটি চালু রেখেই প্রম্পট ফিরে পেতে চান। সেক্ষেত্রে আপনার প্রোগ্রামটি ব্যাকগ্রাউন্ড প্রসেস হিসেবে চালু করতে হবে। এজন্য কমান্ডের শেষে আপনাকে '&' চিহ্ন ব্যবহার করতে হবে। অর্থাৎ আপনি যদি xlogo কমান্ডটি ব্যাকগ্রাউন্ডে চালু করতে চান তবে আপনাকে লিখতে হবে xlogo &। এই কমান্ডটি দিলে প্রোগ্রামটি চালু রেখেই আপনাকে প্রম্পট ফেরত দেবে:

me@howtocode-pc:~$ xlogo &
[1] 16725

কমান্ডটি দেয়ার পর দ্বিতীয় লাইনে দুটি সংখ্যা দেখিয়ে আমাদের প্রম্পটি ফেরত দেবে টার্মিলান। এরমধ্যে প্রথমে ব্রাকেটের মধ্যে সংখ্যাটি জব নাম্বার এবং পরেরটি প্রসেস আইডি(PID)।

আমরা এখন ps কমান্ড দিলে বর্তমান প্রসেসগুলোর মধ্যে xlogo এর প্রসেসটি পাবো:

me@howtocode-pc:~$ ps
  PID TTY          TIME CMD
16713 pts/14   00:00:00 bash
16725 pts/14   00:00:00 xlogo
16861 pts/14   00:00:00 ps

জব নাম্বার শেলের একটি বৈশিষ্ট্য। এটি ওই শেল দিয়ে চালু করা সকল প্রোগ্রাম বা জবের বা প্রসেস যাই বলুন তার একটি করে নাম্বার দিয়ে লিস্ট করে রাখে। jobs কমান্ডটি দিয়ে আমরা জবগুলো দেখতে পারি তাদের নাম্বার সহ:

me@howtocode-pc:~$ jobs
[1]+  Running                    xlogo &

আমরা আমাদের কমান্ডটি এক নাম্বার জব হিসেবে রানিং দেখছি।

প্রসেস ফোরগ্রাউন্ডে আনা

একটা প্রসেস ব্যাকগ্রাউন্ডে যাওয়ার পর তার উপর কোনো নিয়ন্ত্রণ থাকে না। তাই প্রয়োজন হতে পারে তাকে আবার সামনে বা ফোরগ্রাউন্ডে আনার। এর জন্য আমাদের প্রথমে jobs কমান্ডটি দিয়ে প্রসেসটির জব নম্বর জানতে হবে:

me@howtocode-pc:~$ jobs
[1]+  Running                    xlogo &

এবার আমাদের fg কমান্ড ব্যবহার করতে হবে। এবং এর আর্গুমেন্ট হিসেবে % চিহ্নের সাথে জব নাম্বার দিতে হবে। আমাদের প্রোগ্রামের জব নম্বর 1, তাই আমরা লিখবো:

me@howtocode-pc:~$ fg %1
xlogo

পরের লাইনে প্রোগ্রামটার নাম আসবে এবং অন্যসব ফোরগ্রাউন্ড প্রসেসের মতই বন্ধ না করা পর্যন্ত প্রম্পট ফেরত আসবে না।

প্রসেস বিরত(Pause) রাখা

কখনো কখনো দরকার হতে পারে একটি প্রসেস বন্ধ না করে শুধু পজ বা ফ্রীজ করে রাখার। কখনো কখনো একটি ফোরগ্রাউন্ড প্রসেসকে ব্যাকগ্রাউন্ডে পাঠানোর জন্য এটি ব্যবহৃত হয়। আমরা প্রথমে টার্মিনালে xlogo লিখে প্রোগ্রামটি চালু করি, তারপর Ctrl-z চেপে প্রসেসটাকে স্টপ বা পজ করি:

me@howtocode-pc:~$ xlogo
^Z
[1]+  Stopped                 xlogo
me@howtocode-pc:~$

দেখা গেলো প্রোগ্রামটিকে একটি স্টপড জব হিসেবে রেখে আমাদের কাছে প্রম্পটি দেয়া হয়েছে। স্টপড মানে কিন্তু ব্যাকগ্রাউন্ড প্রসেস না। আমরা যদি এখন xlogo এর উইন্ডোটা টেনে ছোটবড় করি দেখবেন লোগোটিও ছোটবড় হওয়ার কথা কিন্তু হচ্ছে না। আমরা bg কমান্ড দিয়ে প্রসেসটিকে ব্যাকগ্রাউন্ডে আবার চালু করে দিলে সেটি কাজ করবে:

me@howtocode-pc:~$ bg %1
[1]+ xlogo &
Previousপ্রসেস দেখাNextসিগন্যাল

Last updated 6 years ago