linux - kali - লিনাক্স ব্যবহার




কিভাবে লিনাক্সে নির্দিষ্ট পোর্টে চলমান একটি প্রক্রিয়া হত্যা করবেন? (12)

  1. lsof -i tcp:8000 এই কমান্ডটি পোর্ট 8000 এ চলমান প্রক্রিয়া সম্পর্কে তথ্য তালিকাবদ্ধ করে

  2. kill -9 [PID] এই কমান্ড প্রক্রিয়া হত্যা

আমি ./shutdown.sh /bin ডিরেক্টরি থেকে ./shutdown.sh ব্যবহার করে ./shutdown.sh বন্ধ করার চেষ্টা করেছি। কিন্তু সার্ভার সঠিকভাবে বন্ধ করা হয় নি। এবং এইভাবে আমি পুনরায় আরম্ভ করতে পারিনি
আমার tomcat পোর্ট 8080 চলমান হয়।

আমি 8080 চলমান টম্যাট প্রক্রিয়া হত্যা করতে চান। আমি প্রথম কোনও নির্দিষ্ট পোর্টে (8080) চলমান প্রসেসগুলির তালিকাটি দেখতে চাই, যাতে কোন প্রক্রিয়াটি হত্যা করা যায়।


আপনি lsof কমান্ড ব্যবহার করতে পারেন। এখানে মত পোর্ট নম্বর 8090 হয়

lsof -i:8090

এই কমান্ডটি এই পোর্টে খোলা প্রসেসগুলির একটি তালিকা প্রদান করে।

কিছুটা এইরকম…

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ssh 75782 eoin 5u IPv6 0x01c1c234 0t0 TCP localhost:8090 (LISTEN)

পোর্টটি মুক্ত করার জন্য, এটি ব্যবহার করে প্রক্রিয়াটিকে হত্যা করুন (প্রক্রিয়া আইডি 75782) ...

kill -9 75782

এই এক আমার জন্য কাজ। এখানে মূল পোস্ট থেকে link : link


উইন্ডোজ, netstat -ano | grep "8080" netstat -ano | grep "8080" এবং আমরা নিম্নলিখিত বার্তাটি TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 10076

আমরা taskkill /F /PID 10076 ব্যবহার করে PID মারতে taskkill /F /PID 10076


এই <port_number> চলমান সমস্তকিছুগুলির প্রক্রিয়া <port_number> করতে প্রিন্ট করে:

fuser -n tcp <port_number> 

এটি stderr কিছু উপাদান মুদ্রণ, তাই:

fuser -n tcp <port_number> 2> /dev/null

আমরা তখন kill কমান্ডে এই প্রক্রিয়া id সরবরাহ করতে পারি:

sudo kill $(fuser -n tcp <port_number> 2> /dev/null)

যদি আপনি এটি অনেক কিছু করেন তবে আপনি এটি একটি ফাংশনেও রাখতে পারেন:

function killport() {
    sudo kill $(fuser -n tcp $1 2> /dev/null)
}

এই মত চেষ্টা করুন,

 sudo fuser -n tcp -k 8080

কমান্ড ব্যবহার করুন

 sudo netstat -plten |grep java

ব্যবহৃত grep java হিসাবে tomcat তাদের প্রক্রিয়া হিসাবে java ব্যবহার করে।

এটি পোর্ট নম্বর এবং প্রক্রিয়া আইডি সহ প্রসেসগুলির তালিকা প্রদর্শন করবে

tcp6       0      0 :::8080                 :::*                    LISTEN      
1000       30070621    16085/java

আগে সংখ্যা /java একটি প্রক্রিয়া আইডি। এখন প্রক্রিয়া হত্যা করতে kill কমান্ড ব্যবহার করুন

kill -9 16085

-9 বোঝায় প্রক্রিয়া জোর করে হত্যা করা হবে।


গিট বাশের সাথে অন্য উপায়:

stopProcessByPortNumber() {
port=":${1}"
portStrLine="$(netstat -ano | findstr LISTENING | findstr $port)"
processId="$(grep -oP '(\d+)(?!.*\d)' <<< $portStrLine)"
echo $processId
taskkill -PID $processId -F
}

টাস্ক পিআইডি পান এবং এটি হত্যা।

lsof -ti:8080 | xargs kill

যদি আপনি 8080 পোর্ট নম্বরটিতে চলমান একটি প্রক্রিয়াটি মারতে চান তবে প্রথমে আপনাকে 8080 পোর্ট প্রসেস আইডেন্টিফিকেশন নম্বর (পিআইডি) খুঁজে বের করতে হবে এবং তারপরে এটি হত্যা করতে হবে। 8080 পোর্ট নম্বর PID খুঁজে পেতে নিম্নলিখিত কমান্ডটি চালান:

sudo lsof -t -i:8080

এখানে,

  • sudo কমান্ড অ্যাডমিন বিশেষাধিকার জিজ্ঞাসা (ব্যবহারকারী আইডি এবং পাসওয়ার্ড)।
  • lsof - ফাইলের তালিকা (এছাড়াও সম্পর্কিত প্রসেস তালিকা জন্য ব্যবহার করা হয়)
  • -t - শুধুমাত্র প্রক্রিয়া আইডি প্রদর্শন
  • -আই - শুধুমাত্র ইন্টারনেট সংযোগ সম্পর্কিত প্রক্রিয়া প্রদর্শন
  • : 8080 - এই পোর্ট নম্বরটিতে কেবলমাত্র প্রসেস দেখান

তাই আপনি এখন নিম্নলিখিত কমান্ড ব্যবহার করে সহজেই আপনার পিআইডি মারতে পারেন:

sudo kill -9 <PID>

এখানে,

  • হত্যা - প্রক্রিয়া হত্যা করার কমান্ড
  • -9 - জোরপূর্বক

নিম্নলিখিত কমান্ডটি ব্যবহার করে নির্দিষ্ট পোর্টে একটি প্রক্রিয়া খোলার জন্য আপনি এক কমান্ড ব্যবহার করতে পারেন:

sudo kill -9 $(sudo lsof -t -i:8080)

আরো জন্য আপনি নিম্নলিখিত লিঙ্কটি দেখতে পারেন কিভাবে লিনাক্সে একটি নির্দিষ্ট পোর্টের প্রক্রিয়াটি হত্যা করবেন


kill -9 `fuser 8080/tcp|xargs -n 1` , এই কমান্ডগুলি এমন প্রক্রিয়াটিও হত্যা করে যা পোর্ট 8080 টি টিসিপি সংযোগের সাথে শোনে


লিনাক্স : আপনি যদি পোর্টটি জানেন তবে প্রথমে আপনি এই কমান্ডটির PID খুঁজে পেতে পারেন:

netstat -tulpn 

উদাহরণ: -

 Local Address  Foreign Address  State    PID/Program name

  :::3000       :::*             LISTEN    15986/node 

আপনি তারপর হত্যা প্রক্রিয়া গ্রহণ। নিম্নলিখিত কমান্ড চালান:

হত্যা -9 পিআইডি

উদাহরণ: -

হত্যা -9 15986


লিনাক্স : যদি আপনি পোর্টটি জানেন তবে আপনি এই কমান্ডটি ব্যবহার করতে পারেন:

netstat -plten | grep LISTEN | grep 8080

AIX :

netstat -Aan | grep LISTEN | grep 8080

তারপর আপনি প্রথম কলামটি গ্রহণ করুন (উদাহরণ: f100050000b05bb8) এবং নিম্নোক্ত কমান্ডটি চালান:

rmsock f100050000b05bb8 tcpcb

Kill প্রসেস.







kill-process