macos - ম্যাকের প্রক্রিয়া 3 লকিং পোর্ট 3000 খুঁজুন(এবং হত্যা করুন)




process (19)

  1. আপনি netstat চেষ্টা করতে পারেন

    netstat -vanp tcp | grep 3000
    
  2. ম্যাকোএস এল ক্যাপিটান এবং নতুন (অথবা আপনার নেটস্ট্যাট-পি সমর্থন করে না) lsof , lsof ব্যবহার lsof

    sudo lsof -i tcp:3000 
    
  3. Centos 7 ব্যবহারের জন্য

    netstat -vanp --tcp | grep 3000
    

আমি কিভাবে আমার টিসিপি পোর্টগুলি শুনতে / ব্যবহার করে এমন প্রক্রিয়াগুলি সন্ধান করব? আমি ম্যাক os এক্স উপর করছি।

কখনও কখনও, একটি ক্র্যাশ বা কিছু বাগ পরে, আমার রেলের অ্যাপ্লিকেশন পোর্ট 3000 লক করা হয়। আমি PS -ef ব্যবহার করে এটি খুঁজে পাচ্ছি না ... আমি কিভাবে মূঢ় জিনিস খুঁজে পেতে এবং নির্মমভাবে হত্যা, ...?

যখন করছেন

rails server

আমি পাই

ঠিকানা ইতিমধ্যে ব্যবহার - বাঁধাই (2) (Erno :: EADDRINUSE)

2014 আপডেট:

নীচের উত্তরগুলির কিছু শেষ করতে: হত্যা আদেশগুলি কার্যকর করার পরে, rm ~/mypath/myrailsapp/tmp/pids/server.pid ফাইল মুছে ফেলার প্রয়োজন হতে পারে rm ~/mypath/myrailsapp/tmp/pids/server.pid


PID খুঁজুন এবং প্রক্রিয়া হত্যা।

lsof -ti:3000 | xargs kill

আপনি lsof -i:3000 ব্যবহার করতে পারেন lsof -i:3000

যে "তালিকা খুলুন ফাইল"। এটি আপনাকে প্রসেসগুলির তালিকা এবং কোন ফাইল এবং পোর্টগুলি ব্যবহার করে তা দেয়।


আপনি এই চেষ্টা করা উচিত, এই কৌশল ওএস স্বাধীন।

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

আমি এই সহজ উপায় মনে হয়।


আপনি টার্মিনাল ব্যবহার করে এই কোড চেষ্টা করা উচিত:

$ killall -9 ruby

আপনি সার্ভার পোর্ট (কনফিগার / puma.rb) লাইন 12 এ কনফিগারেশন পরিবর্তন করতে পারেন।

$ পোর্ট ENV.fetch ("PORT") {3000}

থেকে

$ পোর্ট ENV.fetch ("PORT") {3001}

অথবা আপনি উপযুক্ত মনে কোন নির্দিষ্ট পোর্ট। এই প্রক্রিয়ার জন্য একটি scavenger শিকারে যেতে প্রয়োজন এড়ানো। আপনি সবসময় আপনার কম্পিউটার পুনরায় বুট করতে পারেন। এছাড়াও যখন আপনি অন্য পোর্টে সার্ভারটি চালু করেন তখন এটি সাধারণত খোলা প্রথম সার্ভারটিকে হত্যা করে।


উপরে কিছুই আমার জন্য কাজ। আমার অভিজ্ঞতা সহ অন্য কেউ নিম্নলিখিত চেষ্টা করতে পারে (আমার জন্য কাজ):

চালান:

lsof -i :3000 (where 3000 is your current port in use)

তারপর রিপোর্ট পিআইডি অবস্থা চেক করুন:

ps ax | grep <PID>

অবশেষে, "এটি দিয়ে শুরু করুন":

kill -QUIT <PID>

উপরের কাজগুলির কিছু না থাকলে চেষ্টা করুন:

lsof -n -i4TCP:3000

এই একক কমান্ড লাইন মনে রাখা সহজ:

npx kill-port 3000

অনুসন্ধানের সাথে আরও শক্তিশালী হাতিয়ারের জন্য:

npx fkill-cli

PS: তারা তৃতীয় পক্ষের জাভাস্ক্রিপ্ট প্যাকেজ ব্যবহার করে

সূত্র: tweet | github


ওএস এক্স এক্স ক্যাপ্টেনের কমান্ড লাইনে এক্সিকিউট করুন:

kill -kill `lsof -t -i tcp:3000`

Lsof এর Terse বিকল্প শুধু পিআইডি ফেরত।


খুঁজুন:

[sudo] lsof -i :3000

নষ্ঠ:

kill -9 <PID>

জোরপূর্বক একটি প্রক্রিয়াকে হত্যা করার জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন

lsof -n -i4TCP:3000 

3000 পোর্ট নাম্বার যেখানে প্রক্রিয়া চলছে

এটি প্রক্রিয়া আইডি (পিআইডি) এবং রান করে

kill -9 "PID"

প্রথম কমান্ডটি চালানোর পরে আপনি যে নম্বরটি পেয়েছেন সেটির সাথে PID প্রতিস্থাপন করুন


ধাপ 1: চলমান সার্ভার খুঁজুন: ps aux | grep puma ps aux | grep puma ধাপ ২: সে সার্ভারকে হত্যা করুন -9 [সার্ভার নম্বর]


নাম বা পোর্ট দ্বারা একাধিক প্রসেস মারতে এখানে একটি সহায়ক সহায়তাকারী ফাংশন

fkill() {
  for i in [email protected];do export q=$i;if [[ $i == :* ]];then lsof -i$i|sed -n '1!p';
  else ps aux|grep -i $i|grep -v grep;fi|awk '{print $2}'|\
  xargs [email protected] sh -c 'kill -9 @&&printf "X %s->%s\n" $q @';done
}

ব্যবহার:

$ fkill [process name] [process port]

উদাহরণ:

$ fkill someapp :8080 node :3333 :9000

পোর্ট 3000 ব্যবহার করে প্রক্রিয়াকরণের পিআইডি বের করার এবং এটি হত্যা করার জন্য একটি এক-মাছ ধরার নৌকা।

lsof -ti:3000 | xargs kill

-ট পতাকাটি পিওআইডি ছাড়া সবকিছুকে সরিয়ে দেয়, lsof আউটপুট থেকে এটি সহজ করে তোলে।


পোর্ট ব্লক প্রক্রিয়া দেখতে:

netstat -vanp tcp | grep 3000

পোর্ট ব্লক প্রক্রিয়া প্রসারিত:

kill $(lsof -t -i :3000)


sindresorhus এর github টুল ব্যবহার করে, আপনি এটি করতে পারেন:

$ fkill :3000

~/.bash_profile যোগ করুন:

function killTcpListen () {
  kill -QUIT $(sudo lsof -sTCP:LISTEN -i tcp:$1 -t)
}

তারপর source ~/.bash_profile এবং রান

killTcpListen 8080


lsof -P | grep ':3000' | awk '{print $2}'

এটি আপনাকে ম্যাকস-এ পরীক্ষিত শুধু পিড দেবে।





process