অ্যান্ড্রয়েড

লিনাক্সে ডেমসগ কমান্ড

লিনাক্সে সি প্রোগ্রাম রান করার উপায়

লিনাক্সে সি প্রোগ্রাম রান করার উপায়

সুচিপত্র:

Anonim

লিনাক্স কার্নেল হ'ল অপারেটিং সিস্টেমের মূল যা সিস্টেম রিসোর্সে যেমন সিপিইউ, আই / ও ডিভাইস, শারীরিক মেমরি এবং ফাইল সিস্টেমগুলিতে অ্যাক্সেস নিয়ন্ত্রণ করে। বুট প্রক্রিয়া চলাকালীন এবং সিস্টেম চলাকালীন কার্নেল কার্নেল রিং বাফারে বিভিন্ন বার্তা লিখে। এই বার্তাগুলিতে সিস্টেমের অপারেশন সম্পর্কিত বিভিন্ন তথ্য অন্তর্ভুক্ত রয়েছে।

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

dmesg কমান্ড-লাইন ইউটিলিটি লিনাক্স এবং অন্যান্য ইউনিক্স-মতো অপারেটিং সিস্টেমে কার্নেল রিং বাফার মুদ্রণ এবং নিয়ন্ত্রণ করতে ব্যবহৃত হয়। এটি কার্নেল বুট বার্তাগুলি পরীক্ষা করতে এবং হার্ডওয়্যার সম্পর্কিত সমস্যাগুলি ডিবাগ করার জন্য দরকারী।

এই টিউটোরিয়ালে, আমরা dmesg কমান্ডের dmesg কভার করব।

dmesg কমান্ড ব্যবহার করে

dmesg কমান্ডের বাক্য dmesg নিম্নরূপ:

dmesg

যখন কোনও বিকল্প ছাড়াই dmesg রিং বাফার থেকে স্ট্যান্ডার্ড আউটপুটে সমস্ত বার্তা লিখে:

dmesg

ডিফল্টরূপে, সমস্ত ব্যবহারকারী dmesg কমান্ড চালাতে পারেন। তবে কিছু সিস্টেমে dmesg অ্যাক্সেস অ-রুট ব্যবহারকারীদের জন্য সীমাবদ্ধ থাকতে পারে। এই পরিস্থিতিতে, ডেমেসগ dmesg আপনি নীচের মতো একটি ত্রুটি বার্তা পাবেন:

dmesg: read kernel buffer failed: Operation not permitted

কার্নেল প্যারামিটার kernel.dmesg_restrict সুনির্দিষ্ট করে যে kernel.dmesg_restrict ব্যবহারকারীরা কার্নেলের লগ বাফার থেকে বার্তা দেখতে dmesg ব্যবহার করতে পারবেন কিনা। বিধিনিষেধগুলি অপসারণ করতে, এটি শূন্যে সেট করুন:

sudo sysctl -w kernel.dmesg_restrict=0

সাধারণত, আউটপুটটিতে প্রচুর পরিমাণে লাইন থাকে, সুতরাং আউটপুটটির কেবলমাত্র শেষ অংশটি দেখা যায়। একবারে একটি পৃষ্ঠা দেখতে, আউটপুটটি পেজারের ইউটিলিটি যেমন less বা more হিসাবে পাইপ করুন:

dmesg --color=always | less

--color=always রঙিন আউটপুট সংরক্ষণের জন্য ব্যবহৃত হয়।

dmesg | grep -i usb

dmesg /proc/kmsg ভার্চুয়াল ফাইল থেকে কার্নেল দ্বারা উত্পন্ন বার্তাগুলি /proc/kmsg । এই ফাইলটি কার্নেল রিং বাফারকে একটি ইন্টারফেস সরবরাহ করে এবং কেবল একটি প্রক্রিয়া দ্বারা খোলা যেতে পারে। যদি আপনার সিস্টেমে syslog প্রক্রিয়া চলমান থাকে এবং আপনি cat সহ ফাইলটি পড়ার চেষ্টা করেন, তবে কমান্ডটি স্তব্ধ হয়ে যাবে।

syslog ডেমন কার্নেল বার্তাগুলি /var/log/dmesg , সুতরাং আপনি সেই লগ ফাইলটি ব্যবহার করতে পারেন:

cat /var/log/dmesg

Dmesg আউটপুট গঠন

dmesg কমান্ডটি বেশ কয়েকটি অপশন সরবরাহ করে যা আপনাকে আউটপুট ফর্ম্যাট এবং ফিল্টার করতে সহায়তা করে।

--human সর্বাধিক ব্যবহৃত বিকল্পগুলির মধ্যে একটি হ'ল- -H ( --human ), যা মানব-পঠনযোগ্য আউটপুটকে সক্ষম করে। এই বিকল্পটি পেজারে কমান্ড আউটপুটটি পাইপ করে:

dmesg -H

মানব-পঠনযোগ্য টাইমস্ট্যাম্পগুলি মুদ্রণের জন্য -T ( --ctime ) বিকল্পটি ব্যবহার করুন:

dmesg -T

IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready

টাইমস্ট্যাম্পস বিন্যাসটিও --time-format ব্যবহার করে সেট করা যেতে পারে বিকল্প, যা সিটিটাইম, রিলটাইম, ডেল্টা, নোটিম বা আইসো হতে পারে। উদাহরণস্বরূপ ডেল্টা বিন্যাসটি ব্যবহার করতে আপনি টাইপ করবেন:

dmesg --time-format=delta

আপনি দুটি বা আরও বেশি বিকল্প একত্রিত করতে পারেন:

dmesg -H -T

রিয়েল-টাইমে dmesg কমান্ডের আউটপুট দেখতে -w ( --follow ) বিকল্পটি ব্যবহার করুন:

dmesg --follow

ছায়াছবি dmesg আউটপুট

আপনি প্রদত্ত সুবিধাগুলি এবং স্তরগুলিতে dmesg আউটপুটকে সীমাবদ্ধ করতে পারেন।

সুবিধাটি সেই প্রক্রিয়াটি উপস্থাপন করে যা বার্তা তৈরি করেছিল। dmesg নিম্নলিখিত লগ সুবিধাগুলি সমর্থন করে:

  • kern - কার্নেল বার্তাগুলি user - ব্যবহারকারী-স্তরের বার্তা mail - মেল সিস্টেম daemon - সিস্টেম ডেমন auth - সুরক্ষা / অনুমোদনের বার্তাগুলি syslog - অভ্যন্তরীণ সিস্টল্ড বার্তাগুলি lpr - লাইন প্রিন্টার সাবসিস্টেম news - নেটওয়ার্ক নিউজ সাবসিস্টেম

--facility ( --facility ) বিকল্পটি আপনাকে আউটপুটকে নির্দিষ্ট সুবিধার মধ্যে সীমাবদ্ধ করতে দেয়। বিকল্পটি এক বা একাধিক কমা-বিচ্ছিন্ন সুবিধা গ্রহণ করে accep

উদাহরণস্বরূপ, কেবলমাত্র কার্নেল এবং সিস্টেম ডেমন বার্তাগুলি প্রদর্শন করতে আপনি ব্যবহার করবেন:

dmesg -f kern, daemon

প্রতিটি লগ বার্তা একটি লগ স্তরের সাথে যুক্ত যা বার্তার গুরুত্ব দেখায়। dmesg নিম্নলিখিত লগ স্তর সমর্থন করে:

  • emerg - সিস্টেমটি ব্যবহারের অযোগ্য alert - তাত্ক্ষণিকভাবে ব্যবস্থা গ্রহণ করা উচিত - সমালোচনামূলক অবস্থার ত্রুটি - ত্রুটির শর্তাদি warn - সতর্কতা শর্তাদি notice - সাধারণ তবে উল্লেখযোগ্য শর্ত সম্পর্কিত info - তথ্য debug - ডিবাগ-স্তরের বার্তা

-l ( --level ) বিকল্পটি আউটপুটকে সংজ্ঞায়িত স্তরে সীমাবদ্ধ করে। বিকল্পটি এক বা একাধিক কমা-বিভাজিত স্তরের গ্রহণ করে।

নিম্নলিখিত কমান্ডটি কেবল ত্রুটি এবং সমালোচনা বার্তা প্রদর্শন করে:

dmesg -l err, crit

রিং বাফার সাফ করা হচ্ছে

-C ( --clear ক্লিয়ার) বিকল্পটি আপনাকে রিং বাফারটি সাফ করার অনুমতি দেয়:

sudo dmesg -C

কেবলমাত্র রুট বা সুডোর সুবিধা সহ ব্যবহারকারীরা বাফার সাফ করতে পারেন।

ক্লিয়ারিংয়ের আগে বাফার সামগ্রীগুলি মুদ্রণের জন্য -c ( -c --read-clear ) বিকল্পটি ব্যবহার করুন:

sudo dmesg -c

dmesg > dmesg_messages

উপসংহার

dmesg কমান্ড আপনাকে কার্নেল রিং বাফারটি দেখতে এবং নিয়ন্ত্রণ করতে দেয়। কার্নেল বা হার্ডওয়্যার সমস্যার সমাধানের সময় এটি খুব কার্যকর হতে পারে।

সমস্ত উপলভ্য dmesg বিকল্প সম্পর্কে তথ্যের জন্য আপনার টার্মিনালে man dmesg টাইপ করুন।

dmesg কার্নেল টার্মিনাল