আরএইচসিএসএ সিরিজ: আরএইচইএল 7 তে প্রক্রিয়া পরিচালনা: বুট, শাটডাউন এবং এর মধ্যে সমস্ত কিছু - পার্ট 5


আপনি কোনও কমান্ড লাইন ইন্টারফেসে লগইন স্ক্রিনটি উপস্থাপন না করা পর্যন্ত আপনি আপনার আরএইচএল 7 সার্ভারটি চালু করার জন্য পাওয়ার বোতামটি টিপুন এমন মুহুর্তের পরে কী ঘটবে তার সামগ্রিক এবং সংক্ষিপ্ত সংশোধন নিয়ে আমরা এই নিবন্ধটি শুরু করব।

দয়া করে মনে রাখবেন:

১. অন্যান্য মৌলিক নীতিগুলি অন্যান্য লিনাক্স বিতরণেও, সামান্য পরিবর্তন সহ, এবং
প্রয়োগ হয় ২. নিম্নলিখিত বিবরণটি বুট প্রক্রিয়াটির সম্পূর্ণ ব্যাখ্যা উপস্থাপনের উদ্দেশ্যে নয়, কেবলমাত্র মৌলিক বিষয়গুলির জন্য।

লিনাক্স বুট প্রক্রিয়া

1. পোষ্ট (পাওয়ার টেস্টে স্ব-পরীক্ষা) হার্ডওয়্যার চেকগুলি আরম্ভ করে এবং সম্পাদন করে।

২.পোস্ট শেষ হয়ে গেলে, সিস্টেম নিয়ন্ত্রণটি প্রথম পর্যায়ে বুট লোডারকে দেওয়া হয়, যা হার্ড ডিস্কের একটিতে (বিআইওএস এবং এমবিআর ব্যবহার করে পুরানো সিস্টেমগুলির জন্য) বা ডেডিকেটেড (ইউ) ইএফআইতে সংরক্ষণ করা হয় বিভাজন।

৩. প্রথম পর্যায়ে বুট লোডার দ্বিতীয় স্তরের বুট লোডার লোড করে, সাধারণত GRUB (গ্র্যান্ড ইউনিফাইড বুট লোডার), যা/বুটের অভ্যন্তরে থাকে, যার ফলে কার্নেল এবং প্রাথমিক রu্যাম-ভিত্তিক ফাইল সিস্টেম লোড হয় (ইনি্রামফ হিসাবেও পরিচিত) , যার মধ্যে এমন প্রোগ্রাম এবং বাইনারি ফাইল রয়েছে যা শেষ পর্যন্ত আসল রুট ফাইল সিস্টেমটি মাউন্ট করার জন্য প্রয়োজনীয় ক্রিয়া সম্পাদন করে)।

৪. আমরা একটি স্প্ল্যাশ স্ক্রিন উপস্থাপন করেছি যা আমাদের অপারেটিং সিস্টেম এবং বুট করতে কার্নেল চয়ন করতে দেয়:

৫. কার্নেল সিস্টেমের সাথে সংযুক্ত হার্ডওয়্যার সেট আপ করে এবং একবারে রুট ফাইল সিস্টেমটি মাউন্ট হয়ে গেলে, পিআইডি 1 দিয়ে প্রক্রিয়া আরম্ভ করে, যার ফলে অন্যান্য প্রক্রিয়া আরম্ভ হয় এবং লগইন প্রম্পট উপস্থিত হয়।

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

উপরের উদাহরণে, আমরা বর্তমান প্রসেসগুলির একটি তালিকা প্রদর্শন করতে সুপরিচিত PS কমান্ডটি ব্যবহার করেছি যার পিতামাতার প্রক্রিয়াটি (বা অন্য কথায়, যে প্রক্রিয়াগুলি সেগুলি শুরু করেছিল) সিস্টেমড (সিস্টেম এবং সার্ভিস ম্যানেজার যা বেশিরভাগ আধুনিক লিনাক্স বিতরণগুলি স্যুইচ করেছে) থেকে) সিস্টেম প্রারম্ভকালে:

# ps -o ppid,pid,uname,comm --ppid=1

মনে রাখবেন যে -o পতাকা (– ফর্ম্যাটটির জন্য সংক্ষিপ্ত) আপনাকে ম্যান পিএস-এ স্ট্যান্ডার্ড ফরমেট স্পেসিফায়ার্স বিভাগে বর্ণিত কীওয়ার্ডগুলি ব্যবহার করে আপনার প্রয়োজন অনুসারে আপনার পছন্দসই বিন্যাসে পিএসের আউটপুট উপস্থাপন করতে দেয়।

আর একটি ক্ষেত্রে আপনি ডিফল্টর পরিবর্তে PS এর আউটপুট সংজ্ঞায়িত করতে চান যখন আপনাকে এমন প্রসেসগুলি সন্ধান করতে হবে যা একটি গুরুত্বপূর্ণ সিপিইউ এবং/অথবা মেমরির লোড সৃষ্টি করে এবং সে অনুযায়ী সাজাতে হবে:

# ps aux --sort=+pcpu              # Sort by %CPU (ascending)
# ps aux --sort=-pcpu              # Sort by %CPU (descending)
# ps aux --sort=+pmem              # Sort by %MEM (ascending)
# ps aux --sort=-pmem              # Sort by %MEM (descending)
# ps aux --sort=+pcpu,-pmem        # Combine sort by %CPU (ascending) and %MEM (descending)

সিস্টেমডির একটি ভূমিকা

লিনাক্স বিশ্বে কয়েকটি সিদ্ধান্তই লিনাক্সের বড় বিতরণগুলির দ্বারা সিস্টেমড গ্রহণের চেয়ে আরও বিতর্ক সৃষ্টি করে। সিস্টেমডের অ্যাডভোকেটস নামগুলি এর মূল সুবিধা হিসাবে নিম্নলিখিত তথ্যগুলি:

আরও পড়ুন: ‘থিম’ এবং ‘সিস্টেমড’ এর পিছনের গল্প

1. সিস্টেমড সিস্টেম প্রারম্ভকালে সমান্তরালভাবে আরও প্রসেসিংয়ের অনুমতি দেয় (পুরানো সিসভিনিটের বিপরীতে, যা সর্বদা ধীর হতে থাকে কারণ এটি একের পর এক প্রক্রিয়া শুরু করে, অন্যটির উপর নির্ভর করে কিনা তা পরীক্ষা করে এবং তারপরে ডিমেনগুলি আরম্ভ করার জন্য অপেক্ষা করে আরও পরিষেবা শুরু করতে পারে), এবং

২. এটি একটি চলমান সিস্টেমে ডায়নামিক রিসোর্স ম্যানেজমেন্ট হিসাবে কাজ করে। সুতরাং, বুট চলাকালীন বৈধ কারণ ছাড়াই প্রবর্তন না করে প্রয়োজনীয়তার সাথে পরিষেবাগুলি শুরু করা হয় (সিস্টেমের উত্সগুলি ব্যবহার না করা হলে সেগুলি এড়ানো)।

৩.সাইভিনিট স্ক্রিপ্টগুলির সাথে পিছনে সামঞ্জস্য।

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

  1. সার্ভিস সরঞ্জামটি, যা সেই পুরানো সিস্টেমগুলির মধ্যে রয়েছে - সিসভিনিট স্ক্রিপ্টগুলি পরিচালনা করতে ব্যবহৃত হয়েছিল এবং
  2. chkconfig ইউটিলিটি, যা সিস্টেম পরিষেবাদির জন্য রানলেভেল তথ্য আপডেট এবং অনুসন্ধানের উদ্দেশ্যে কাজ করেছিল
  3. শাটডাউন, যা আপনি অবশ্যই চলমান সিস্টেমটিকে পুনরায় চালু করতে বা থামাতে বেশ কয়েকবার ব্যবহার করেছেন

নিম্নলিখিত টেবিলে এই উত্তরাধিকার সরঞ্জামগুলি এবং systemctl এর ব্যবহারের মধ্যে মিল রয়েছে:

সিস্টেমড ইউনিটগুলির ধারণাগুলিও প্রবর্তন করেছিল (যা কোনও পরিষেবা, একটি মাউন্ট পয়েন্ট, একটি ডিভাইস বা একটি নেটওয়ার্ক সকেট হতে পারে) এবং লক্ষ্যগুলি (যা একইভাবে সিস্টেম্ড বিভিন্ন সম্পর্কিত প্রক্রিয়া শুরু করতে পরিচালনা করে এবং বিবেচনা করা যেতে পারে - যদিও সিসভিনিট-ভিত্তিক সিস্টেমগুলিতে রানলেভেলের সমতুল্য নয়।

সাতরে যাও

প্রক্রিয়া পরিচালনার সাথে সম্পর্কিত অন্যান্য কাজগুলির মধ্যে অন্তর্ভুক্ত রয়েছে তবে এর সক্ষমতা সীমাবদ্ধ নয়:

এটি রেনিস ইউটিলিটির মাধ্যমে সম্পন্ন হয়, যা এক বা একাধিক চলমান প্রক্রিয়ার সময়সূচী অগ্রাধিকার পরিবর্তন করে al সহজ কথায়, নির্ধারিত অগ্রাধিকার হ'ল বৈশিষ্ট্য যা কার্নেলকে (সংস্করণগুলিতে উপস্থিত => ২.6) একটি প্রদত্ত প্রক্রিয়াটির নির্ধারিত কার্যকর প্রয়োগের অগ্রাধিকার (-20 থেকে 19 পর্যন্ত পরিসীমা অনুযায়ী) সিস্টেম রিসোর্স বরাদ্দ করতে দেয়।

রেনিসের মূল বাক্য গঠনটি নিম্নরূপ:

# renice [-n] priority [-gpu] identifier

উপরের জেনেরিক কমান্ডে, প্রথম আর্গুমেন্টটি ব্যবহার করা অগ্রাধিকার মান, অন্যদিকে যুক্তিটি প্রক্রিয়া আইডি (যা ডিফল্ট সেটিংস), প্রক্রিয়া গ্রুপ আইডি, ব্যবহারকারীর আইডি বা ব্যবহারকারীর নাম হিসাবে ব্যাখ্যা করা যায়। একটি সাধারণ ব্যবহারকারী (রুট ব্যতীত) কেবল তার বা তার মালিকানাধীন কোনও প্রক্রিয়াটির সময় নির্ধারণের অগ্রাধিকারটি পরিবর্তন করতে পারে এবং কেবলমাত্র কুলুঙ্গি স্তর বাড়িয়ে তোলে (যার অর্থ কম সিস্টেম সংস্থান গ্রহণ করা)।

আরও সুনির্দিষ্ট শর্তে, একটি প্রক্রিয়া হত্যার ফলে কিল বা পিকিল কমান্ডের মাধ্যমে কপিরাইটের সাথে তার সিগন্যাল (SIGTERM = 15) শেষ করতে বা তত্ক্ষণাত্ (সিগ্কিল = 9) প্রেরণ করা যায়।

এই দুটি সরঞ্জামের মধ্যে পার্থক্য হ'ল প্রাক্তনটি নির্দিষ্ট প্রক্রিয়া বা প্রক্রিয়া গোষ্ঠীটি পুরোপুরি সমাপ্ত করতে ব্যবহৃত হয়, তবে পরেরটি আপনাকে নাম এবং অন্যান্য বৈশিষ্ট্যের উপর ভিত্তি করে একই কাজ করতে দেয়।

এছাড়াও, pkill pgrep এর সাথে বান্ডিল হয়ে আসে, যা আপনাকে দেখায় যে পিআইডি ব্যবহার করা উচিত সেগুলি ব্যবহার করা উচিত। উদাহরণস্বরূপ, দৌড়ানোর আগে:

# pkill -u gacanepa

এক নজরে দেখার জন্য এটি কার্যকর হতে পারে যা গ্যাকানাপার মালিকানাধীন পিআইডি হ'ল:

# pgrep -l -u gacanepa

ডিফল্টরূপে, কিল এবং পিল উভয়ই প্রক্রিয়াতে SIGTERM সিগন্যাল প্রেরণ করে। আমরা উপরে উল্লিখিত হিসাবে, এই সংকেতটি উপেক্ষা করা যেতে পারে (প্রক্রিয়াটি কার্যকর করার জন্য বা ভাল করার জন্য), সুতরাং যখন আপনাকে গুরুত্ব সহকারে কোনও বৈধ কারণ সহ একটি চলমান প্রক্রিয়াটি থামানোর প্রয়োজন হবে, আপনাকে কমান্ড লাইনে সিগ্কিল সিগন্যাল নির্দিষ্ট করতে হবে:

# kill -9 identifier               # Kill a process or a process group
# kill -s SIGNAL identifier        # Idem
# pkill -s SIGNAL identifier       # Kill a process by name or other attributes 

উপসংহার

এই নিবন্ধে আমরা একটি আরএইচইএল 7 সিস্টেমে বুট প্রক্রিয়াটির বেসিকগুলি ব্যাখ্যা করেছি এবং সাধারণ ইউটিলিটিস এবং সিস্টেম-নির্দিষ্ট কমান্ডগুলি ব্যবহার করে প্রক্রিয়া পরিচালনা করতে আপনাকে সহায়তা করার জন্য উপলব্ধ কয়েকটি সরঞ্জাম বিশ্লেষণ করেছি।

নোট করুন যে এই তালিকাটি এই বিষয়টির সমস্ত ঘণ্টা এবং শিসাগুলি coverাকা দেওয়ার উদ্দেশ্যে নয়, তাই নিচের মন্তব্য ফর্মটি ব্যবহার করে নিবন্ধটিতে নিজের পছন্দসই সরঞ্জাম এবং কমান্ডগুলি নির্দ্বিধায় যুক্ত করুন। প্রশ্ন এবং অন্যান্য মন্তব্য এছাড়াও স্বাগত।