আপনি কি কখনও এমন পরিস্থিতির সম্মুখীন হয়েছেন যেখানে আপনার লিনাক্স মেশিনে একটি নির্দিষ্ট পোর্টে চলমান একটি প্রক্রিয়া বন্ধ করতে হবে?
আপনি উদ্বিগ্ন হতে পারেন যে আপনি যে অ্যাপ্লিকেশনটি চালাচ্ছেন সেটি খারাপ ব্যবহার করছে বা আপনার নেটওয়ার্ক সংস্থান বা স্থানীয় CPU শক্তিকে হগ করছে। এই ধরনের একটি অ্যাপ্লিকেশন এমনকি একটি নিরাপত্তা হুমকি আপনি নির্মূল করতে চান হতে পারে.
কারণ যাই হোক না কেন, আপনি পোর্ট নম্বর ব্যবহার করে যেকোন লিনাক্স প্রক্রিয়া খুঁজে পেতে এবং মেরে ফেলতে সাহায্য করতে টার্মিনাল থেকে (কিল সহ) fuser, lsof এবং netstat কমান্ড ব্যবহার করতে পারেন। এই কমান্ডগুলি উবুন্টু সহ বেশিরভাগ লিনাক্স অপারেটিং সিস্টেমে কাজ করবে।
ফিউজার কমান্ড ব্যবহার করে একটি লিনাক্স প্রক্রিয়া কীভাবে মেরে ফেলা যায়
একটি পোর্ট নম্বর ব্যবহার করে একটি প্রক্রিয়া হত্যা করার সবচেয়ে সহজ উপায় হল fuser কমান্ড ব্যবহার করা। এই লিনাক্স টার্মিনাল কমান্ড ফাইল বা সকেট অ্যাক্সেস করার প্রক্রিয়াগুলি তালিকাভুক্ত করতে বা হত্যা করতে পারে। যদি কোনো অ্যাপ নেটওয়ার্ক ক্রিয়াকলাপের সাথে চলে (এবং এইভাবে একটি খোলা পোর্ট ব্যবহার করে), এটি সম্ভবত এই দুটি জিনিসের মধ্যে একটি করছে৷
আপনি এগিয়ে যাওয়ার আগে, আপনাকে নিশ্চিত করতে হবে যে আপনি আপনার লিনাক্স পিসিতে কমান্ড লাইন টার্মিনাল ব্যবহার করতে স্বাচ্ছন্দ্য বোধ করছেন।
ফুসার ব্যবহার করে পোর্ট নম্বর ব্যবহার করা প্রক্রিয়াগুলি তালিকাভুক্ত করতে, আপনি নিম্নলিখিত সিনট্যাক্স ব্যবহার করতে পারেন:
fuser -n প্রোটোকল পোর্ট
এই উদাহরণে, প্রোটোকল টিসিপি বা ইউডিপি হতে পারে, যখন পোর্ট হল সেই পোর্ট নম্বর যা আপনি পরীক্ষা করতে চান। উদাহরণস্বরূপ, কোন প্রসেস টিসিপি পোর্ট 80 ব্যবহার করছে তা দেখতে, আপনি চালাতে পারেন:
fuser -n tcp 80
এটি সেই পোর্ট ব্যবহার করে প্রসেস আইডি (পিআইডি) প্রিন্ট করবে।
এই প্রক্রিয়াগুলিকে মেরে ফেলতে, আপনি fuser-এ -k বিকল্পটি যোগ করতে পারেন। এটি প্রতিটি প্রক্রিয়ায় একটি SIGTERM সংকেত পাঠাবে, তাদের সুন্দরভাবে শেষ করতে বলবে। যেমন:
fuser -k -n tcp 80
এটি TCP পোর্ট 80 ব্যবহার করে সমস্ত প্রক্রিয়াকে মেরে ফেলবে।
যদি কিছু প্রক্রিয়া SIGTERM-এ সাড়া না দেয়, আপনি -k এর পরিবর্তে -KILL ব্যবহার করতে পারেন। এটি একটি কিল সিগন্যাল পাঠাবে (SIGKILL), যা বর্তমানে চলমান প্রক্রিয়াগুলিকে অবিলম্বে বন্ধ করার জন্য আপনার চিহ্নিত করা প্রক্রিয়াগুলিকে বাধ্য করতে সাহায্য করতে পারে। যাইহোক, এটি ডেটা ক্ষতি বা দুর্নীতির কারণ হতে পারে, তাই এটি সতর্কতার সাথে ব্যবহার করুন। যেমন:
fuser -KILL -n tcp 80
এটি জোর করে TCP পোর্ট 80 ব্যবহার করে সমস্ত প্রক্রিয়াকে মেরে ফেলবে। আপনি যদি কোনো সমস্যায় পড়েন, তাহলে এই কমান্ডগুলিকে সুপার ব্যবহারকারী হিসেবে চালান (সুডো কমান্ড ব্যবহার করে) অথবা পরিবর্তে রুট ব্যবহারকারী ব্যবহার করে।
লসফ কমান্ড ব্যবহার করে একটি লিনাক্স প্রক্রিয়া কীভাবে মেরে ফেলা যায়
একটি লিনাক্স পিসিতে একটি পোর্ট নম্বর ব্যবহার করে একটি প্রক্রিয়া হত্যা করার আরেকটি উপায় হল lsof কমান্ড ব্যবহার করা। এই কমান্ডটি আপনার সিস্টেমে খোলা ফাইল এবং সকেট তালিকাভুক্ত করতে পারে৷
একটি নির্দিষ্ট পোর্ট নম্বর ব্যবহার করা প্রক্রিয়াগুলি তালিকাভুক্ত করতে, আপনি নিম্নলিখিত সিনট্যাক্স ব্যবহার করতে পারেন:
lsof -i প্রোটোকল:পোর্ট
আগের মত, প্রোটোকল টিসিপি বা ইউডিপি হতে পারে, যখন পোর্ট হল সেই পোর্ট নম্বর যা আপনি চেক করতে চান। উদাহরণস্বরূপ, কোন প্রক্রিয়াগুলি TCP পোর্ট 53 (সাধারণত DNS অনুরোধের জন্য ব্যবহৃত হয়) ব্যবহার করছে তা দেখতে আপনি এই কমান্ডটি চালাতে পারেন:
lsof -i tcp:53
এটি সেই পোর্টটি ব্যবহার করে প্রতিটি প্রক্রিয়া সম্পর্কে কিছু তথ্য মুদ্রণ করবে, এর পিআইডি সহ৷
৷এই প্রক্রিয়াগুলিকে হত্যা করতে, আপনি lsof-এর সাথে -t বিকল্পটি ব্যবহার করতে পারেন। এটি অন্য কোনো তথ্য ছাড়াই শুধুমাত্র প্রসেসের পিআইডি প্রিন্ট করবে। তারপরে আপনি এই আউটপুটটিকে যেকোন সিগন্যাল বিকল্পের সাথে হত্যা কমান্ডে পাইপ করতে পারেন। যেমন:
$(lsof -t -i tcp:53)
হত্যা করুনএটি TCP পোর্ট 53 ব্যবহার করে সমস্ত প্রক্রিয়াতে SIGTERM সংকেত (ডিফল্ট) পাঠাবে৷
যদি কিছু প্রসেস আগের মতো SIGTERM সংকেতগুলিতে সাড়া না দেয়, তাহলে আপনি কিল করার পরে কিছুই না করে -9 ব্যবহার করতে পারেন। এটি পূর্বের মতো SIGKILL সংকেত পাঠাবে, তাদের অবিলম্বে বন্ধ করতে বাধ্য করবে কিন্তু ডেটা ক্ষতি বা দুর্নীতির কারণ হতে পারে। যেমন:
হত্যা -9 $(lsof -t -i tcp:53)
এটি TCP পোর্ট 53 ব্যবহার করে সমস্ত প্রক্রিয়াতে জোর করে SIGKILL সংকেত (ডিফল্ট) পাঠাবে৷
নেটস্ট্যাট কমান্ড ব্যবহার করে একটি লিনাক্স প্রক্রিয়া কীভাবে মেরে ফেলা যায়
সক্রিয় এবং খোলা নেটওয়ার্ক পোর্ট ব্যবহার করে আপনার লিনাক্স পিসিতে চলমান প্রক্রিয়াগুলি ট্র্যাক করতে আপনি নেটস্ট্যাট কমান্ডটিও ব্যবহার করতে পারেন। netstat আপনাকে আপনার সিস্টেমে নেটওয়ার্ক সংযোগ এবং পরিসংখ্যান দেখতে দেয়, আপনাকে সমস্যাযুক্ত প্রক্রিয়াগুলিকে চিহ্নিত করতে দেয়৷
তাদের পিআইডি সহ একটি পোর্ট নম্বর ব্যবহার করে প্রক্রিয়াগুলি তালিকাভুক্ত করতে, আপনাকে দুটি বিকল্প যোগ করতে হবে:-p, যা পিআইডি দেখায় এবং -l, যা শুধুমাত্র শোনার সকেট দেখায়।
এছাড়াও আপনাকে প্রোটোকল (tcp, udp, ইত্যাদি) নির্দিষ্ট করতে হবে এবং ঐচ্ছিকভাবে রাষ্ট্র দ্বারা ফিল্টার করতে হবে (LISTEN, ইত্যাদি)। উদাহরণস্বরূপ, কোন পোর্টে কোন টিসিপি প্রসেস শুনছে তা দেখতে, আপনি চালাতে পারেন:
netstat -p tcp -l
এটি প্রতিটি TCP সকেটের পিআইডি সহ যেকোনো পোর্টে শোনার তথ্য প্রিন্ট করবে।
নির্দিষ্ট পোর্ট দ্বারা ফিল্টার করতে, আপনাকে অবশ্যই আরেকটি বিকল্প যোগ করতে হবে:-n, যা নামের পরিবর্তে সংখ্যাসূচক ঠিকানা দেখায়। এছাড়াও আপনাকে সঠিক ঠিকানা বিন্যাস উল্লেখ করতে হবে:[protocol][@hostname|hostaddr][:service|port]।
উদাহরণস্বরূপ, পোর্ট 80-এ কোন টিসিপি প্রক্রিয়াগুলি শুনছে তা দেখতে, আপনি চালাতে পারেন:
netstat -p tcp -l -n 80
এটি PID সহ পোর্ট 8080-এ প্রতিটি TCP সকেট শোনার তথ্য প্রিন্ট করবে।
এই প্রক্রিয়াগুলিকে মেরে ফেলার জন্য, আপনি যে কোনো সিগন্যাল বিকল্প এবং নেটস্ট্যাট থেকে প্রাপ্ত পিআইডিগুলির সাথে হত্যা কমান্ডটি ব্যবহার করতে পারেন। যেমন:
হত্যা 1234 5678
এটি PID 1234 এবং 5678 সহ প্রক্রিয়াগুলিতে SIGTERM সংকেত (ডিফল্ট) পাঠাবে৷
যদি কিছু প্রসেস আগের মতো SIGTERM সংকেতগুলিতে সাড়া না দেয়, তাহলে আপনি কিল করার পরে কিছুই না করে -9 ব্যবহার করতে পারেন। এটি আগের মতোই SIGKILL সংকেত পাঠাবে, তাদের অবিলম্বে বন্ধ করতে বাধ্য করবে কিন্তু আগের মতো ডেটা ক্ষতি বা দুর্নীতির কারণ হতে পারে। যেমন:
হত্যা -9 1234 5678
উদাহরণস্বরূপ, এটি PID 1234 এবং 5678 সহ প্রক্রিয়াগুলিতে SIGKILL সংকেত পাঠাবে। আপনার চলমান প্রক্রিয়ার জন্য সঠিক পিআইডি দিয়ে 1234 প্রতিস্থাপন করুন।
আপনার লিনাক্স অ্যাপ্লিকেশন নিয়ন্ত্রণ করুন
উপরে বর্ণিত পদক্ষেপগুলির জন্য ধন্যবাদ, আপনি লিনাক্স কমান্ড লাইন ব্যবহার করে একটি পোর্ট নম্বর ব্যবহার করে একটি চলমান লিনাক্স প্রক্রিয়া দ্রুত মেরে ফেলতে পারেন। প্রক্রিয়াগুলিকে হত্যা করার সময় সতর্কতা অবলম্বন করতে মনে রাখবেন, বিশেষ করে সিগকিল সংকেতগুলির সাথে, কারণ সেগুলি অবাঞ্ছিত পার্শ্বপ্রতিক্রিয়া সৃষ্টি করতে পারে—আপনি সর্বোপরি সিস্টেম অস্থিরতা সৃষ্টি করতে চান না৷
লিনাক্সে আপনার সিস্টেমের কর্মক্ষমতা আরও ঘনিষ্ঠভাবে দেখতে চান? আপনি পরবর্তী লিনাক্সে আপনার মেমরি ব্যবহার পরীক্ষা করতে চাইতে পারেন। আপনি যদি একটি সম্ভাব্য নিরাপত্তা ঝুঁকি নিয়ে চিন্তিত হন, তাহলে আপনি Linux-এও আপনার পাসওয়ার্ড পরিবর্তন করতে চাইতে পারেন।
একটি নতুন লিনাক্স বিতরণে স্যুইচ করতে হবে? আপনি যদি একজন শিক্ষানবিস হন, তাহলে Linux Mint-কে একটি নিরাপদ এবং স্থিতিশীল বিকল্প বিবেচনা করুন।