টিসিপিএস সার্ভার ত্রুটি: ঠিকানা ইতিমধ্যে ব্যবহৃত - বাইন্ড (2)


90

জেকিল কয়েক সপ্তাহ আগে আমার জন্য ভাল কাজ করছিল তবে এখন হঠাৎ করেই এটি আমাকে নীচের ত্রুটি দেয়:

TCPServer Error: Address already in use - bind(2)
INFO  WEBrick::HTTPServer#start: pid=7300 port=4000

 % lsof -i :4000
 <fetches nothing>

যদিও বন্দরে কিছুই চলছে না। নীচে বিশদটি রয়েছে:

 % jekyll --version
Jekyll 0.11.2
 % where jekyll
/home/bhaarat/.rvm/gems/ruby-1.9.2-p290/bin/jekyll
/usr/bin/jekyll
 % ruby --version
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
 % rvm --version
rvm 1.10.0 

এখানে আউটপুট

 % jekyll --server
Configuration from /home/bhaarat/blog/omnipresent.github.com/_config.yml
Auto-regenerating enabled: /home/bhaarat/blog/omnipresent.github.com -> /home/bhaarat/blog/omnipresent.github.com/_site
[2012-04-21 13:46:40] regeneration: 38 files changed
[2012-04-21 13:46:40] INFO  WEBrick 1.3.1
[2012-04-21 13:46:40] INFO  ruby 1.9.2 (2011-07-09) [i686-linux]
[2012-04-21 13:46:40] WARN  TCPServer Error: Address already in use - bind(2)
[2012-04-21 13:46:40] INFO  WEBrick::HTTPServer#start: pid=7382 port=4000

আমি জানি যে ঠিকানাটি ব্যবহারে নেই এবং জেকিল সম্ভবত অন্য কোনও কারণে ভেঙে যাচ্ছে তবে সেই ত্রুটিটি ছুঁড়েছে। আমার বিকল্পগুলি কি কি? আমি আবারও ইনস্টল করার চেষ্টা করেছি।


আপনি ঠিক কীভাবে জানেন যে ঠিকানাটি ব্যবহার হচ্ছে না?
সেরজিও টুলেন্টসেভ

আমি চেষ্টা করছি lsof -i :<port number>প্লাস একই জিনিস একটি ভিন্ন বাক্সে ঘটছে
সর্বজনীন

আপনি যদি কোনও বিকল্প বন্দর নির্দিষ্ট করেন তবে কী হবে?
মার্ক টমাস

দুর্ভাগ্যক্রমে, একই জিনিস। জেকিল সম্পূর্ণরূপে অপসারণ এবং এটি পুনরায় ইনস্টল করার সর্বোত্তম উপায় কী।
সর্বব্যাপী

আপনি যদি ইনস্টল করতে রুবি রত্ন ব্যবহার করেন তবে আপনার সাথে আনইনস্টল করতে সক্ষম হওয়া উচিত gem uninstall jekyll। যদি আপনি সম্ভবত উপস্থিত সংস্করণটি ওভাররাইট করতে মণি দিয়ে ইনস্টল না করেন। আপনার ব্রাউজার বা টেলনেটের সাহায্যে বন্দরে আঘাত দেওয়ার চেষ্টা করে দেখুন এটি কোনও সহায়তা দেয় কিনা?
অ্যালান ডাব্লু স্মিথ

উত্তর:


224

আপনার টার্মিনালে এটি টাইপ করুন 3000 বন্দরটি ব্যবহার করছে এমন প্রক্রিয়ার পিআইডি জানতে:

$ lsof -wni tcp:3000

তারপরে, প্রক্রিয়াটি মারতে পিআইডি কলামে নম্বরটি ব্যবহার করুন:

$ kill -9 PID

19
যে কারও এটি পড়ার জন্য, নিশ্চিত হয়ে নিন যে শেষ কমান্ডে, আপনি PIDপিআইডি-র অধীনে যে প্রকৃত সংখ্যাটি দেখছেন সেটির পরিবর্তে। উদাহরণস্বরূপ, আমি দৌড়েছিkill -9 11734
জেগালার্ডো

মনে রাখবেন যে সমস্যাটি কোনও আইভিভি 6 কনফিগারেশন সমস্যা থেকে আসা নিরীহ সতর্কতা হতে পারে: সার্ভারটি প্রথমে একটি ডুয়াল-স্ট্যাক আইপিভি 4 + আইপিভি 6 ঠিকানার সাথে আবদ্ধ করে, তারপরে এটি আইপিভি 6-শুধুমাত্র ঠিকানার সাথে আবদ্ধ হওয়ার চেষ্টা করে; এবং পরবর্তীটি কাজ করে না কারণ IPv6 ঠিকানাটি ইতিমধ্যে পূর্ববর্তী দ্বৈত-স্ট্যাক সকেট দ্বারা নেওয়া হয়েছে।
jpetazzo

17

আমি মন্তব্য পোস্ট করার যোগ্য ছিলাম না। তাই আমি একটি নতুন উত্তর যুক্ত।

আমি Mac OS X 10.10.3 এ এই সমস্যার মুখোমুখি হয়েছি। এবং আমি জেকিল এর আগে কখনও ইনস্টল / ব্যবহার করি নি। আমি তার ডিফল্ট পোর্ট নম্বর 4000 দিয়ে জেকিল সার্ভার শুরু করতে সক্ষম হইনি The কারণটি ছিল যে বন্দরটি নোমাচাইন যেভাবে ব্যবহার করেছিল তা একই ছিল। সঙ্গে

$ sudo lsof -wni tcp:4000

দ্রষ্টব্য: এই কমান্ডটি ছাড়াই চালানোর sudoকোনও আউটপুট থাকবে না।

আমি এই আউটপুটটি দেখেছি:

COMMAND PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
nxd     449   nx    3u  IPv4 0x8d22************      0t0  TCP *:terabase (LISTEN)
nxd     449   nx    4u  IPv6 0x8d22************      0t0  TCP *:terabase (LISTEN)

4000 বন্দরটি দখল করে নিয়েছিল nxd, যা প্রক্রিয়াটি NoMachine দ্বারা শুরু হয়েছিল। এবং

$ sudo kill -9 449

কাজ করবে না, কারণ নোমাচাইনের এনএক্সডি প্রক্রিয়া নতুন পিআইডি সহ পুনরায় চালু হতে থাকবে।

অতএব, আমাকে হয়:

  • সাইটে আমার জেকিল সার্ভার পোর্টটি _config.ymlঅন্য একটি এয়ারড স্পোর্টে পরিবর্তন করেছে । আমি নীচে লাইনটি যুক্ত করেছিলাম _config.ymlএবং এটি কাজ করে।

    port: 3000 # change server port to 3000

বা

  • NoMachine এর ডিফল্ট nxd পোর্ট, বা NoMachine আনইনস্টল পরিবর্তন করা হয়েছে

ধন্যবাদ, আমি এই উত্তরটি আটকে না দেওয়া পর্যন্ত টেরাবাস কী তা বুঝতে পারি না।
হাইওয়ে লাইফ অফ

10

Ctrl-Zকোনও প্রোগ্রাম শেষ করে না, বরং এটি স্থগিত করে ব্যাকগ্রাউন্ডে প্রেরণ করে। আপনি "fg" কমান্ড দিয়ে প্রোগ্রামটি আবার শুরু করতে পারেন। আসলে এটি শেষ করতে, ব্যবহার করুন Ctrl-C

প্রকৃত ত্রুটি বার্তাটি বোগাস বলে মনে হচ্ছে এবং এড়ানো যায়। আমি একই ত্রুটি বার্তাটি "ব্যবহারের ঠিকানায়" পাচ্ছি তবে জেকিল প্রত্যাশিত বন্দরে যেকোন উপায়ে কাজ করে।


আমি ত্রুটি বার্তাটিও পাচ্ছি তবে আমি আমার সাইটটি বন্ধ করে দিতে পারি: 4000
joshuahornby10

3

আমি সম্প্রতি এই সমস্যাটি পূরণ করেছি।

আমি উপরে উল্লিখিত সমস্ত পদ্ধতি চেষ্টা করে দেখেছি এবং এমনকি আমার কম্পিউটার পুনরায় চালু করেছি, কিন্তু এখনও এটি সমাধান করতে পারিনি !!! তারপরে আমি জেকিলটি সরিয়ে একটি নতুন সংস্করণ ইনস্টল করেছি, এটি সবেমাত্র কাজ করেছে।

gem uninstall jekyll & gem install jekyll (সম্ভবত আপনার সুপার ব্যবহারকারী প্রাইভেলিজ প্রয়োজন)।

আপনি যদি সত্যিই অনুরূপ বাগগুলি নিয়ে বিরক্ত হন তবে এই এসবি পদ্ধতিটি চেষ্টা করার মতো ...



0

আপনি ইতিমধ্যে একটি সার্ভার চালাচ্ছেন যেখানে আপনার আর কোনও টার্মিনাল খোলা নেই তা পরীক্ষা করুন। যদি এটি হয় তবে সার্ভারটি বন্ধ করতে একটি সিটিআরএল-সি করুন , এবং এটি পোর্ট / ঠিকানা মুক্ত করবে।


0

প্রথমে আপনাকে 3000 বন্দরটি ব্যবহার করার প্রক্রিয়াটির পিআইডি সন্ধান করতে হবে:

 $ps -ef

এর মতো আউটপুট:

1003      4953  2614  0 08:51 pts/0    00:00:00 -bash
1003      5634     1  0 08:56 pts/0    00:00:00 spring server | moviestore | started 2 hours ago                                           
1003      5637  5634  0 08:56 ?        00:00:01 spring app    | moviestore | started 2 hours ago | development mode                                                              
1003      6078  4953  0 09:03 pts/0    00:00:03 puma 3.6.0 (tcp://localhost:3000) [moviestore]              
1003      6117  2614  0 09:03 pts/1    00:00:00 -bash
root      6520     2  0 09:57 ?        00:00:00 [kworker/u8:2]
root      6936  1225  0 11:09 ?        00:00:00 [lightdm] <defunct>
1003      7084     1  0 11:09 ?        00:00:00 /usr/bin/python /usr/share/apport/apport-gtk
1003      7475     1  0 11:10 ?        00:00:00 /usr/bin/python /usr/share/apport/apport-gtk
root      8739  1225  1 11:29 tty8     00:00:11 /usr/bin/X :1 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch
root      8853  1225  0 11:29 ?        00:00:00 lightdm --session-child 13 22
1002      8943     1  0 11:30 ?        00:00:00 /usr/bin/gnome-keyring-daemon --daemonize --login
1002      8954  8853  0 11:30 ?        00:00:00 gnome-session --session=ubuntu
1002      8992  8954  0 11:30 ?        00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu
1002      8995     1  0 11:30 ?        00:00:00 /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu
1002      8996     1  0 11:30 ?        00:00:00 //bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
1002      9007  8954  0 11:30 ?        00:00:00 /usr/lib/gnome-settings-daemon/gnome-settings-daemon
1002      9015     1  0 11:30 ?        00:00:00 /usr/lib/gvfs/gvfsd
1002      9018  8954  1 11:30 ?        00:00:07 compiz
1002      9021     1  0 11:30 ?        00:00:00 /usr/lib/x86_64-linux-gnu/gconf/gconfd-2
1002      9028  8954  0 11:30 ?        00:00:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
1002      9029  8954  0 11:30 ?        00:00:01 nautilus -n
1002      9030  8954  0 11:30 ?        00:00:00 /usr/lib/gnome-settings-daemon/gnome-fallback-mount-helper
1002      9031  8954  0 11:30 ?        00:00:00 nm-applet
1002      9032  8954  0 11:30 ?        00:00:02 /opt/mTrac/mTrac
1002      9033  8954  0 11:30 ?        00:00:00 bluetooth-applet
1002      9045  9032  0 11:30 ?        00:00:00 /opt/mTrac/mTrac --type=zygote --no-sandbox
1002      9050     1  0 11:30 ?        00:00:00 /usr/lib/gvfs/gvfs-gdu-volume-monitor
1002      9054     1  0 11:30 ?        00:00:00 /usr/bin/pulseaudio --start --log-target=syslog
1002      9057     1  0 11:30 ?        00:00:00 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
1002      9062     1  0 11:30 ?        00:00:00 /usr/lib/gvfs/gvfs-afc-volume-monitor

এখানে আপনি দেখতে পারেন:

1003      6078  4953  0 09:03 pts/0    00:00:03 puma 3.6.0 (tcp://localhost:3000) [moviestore]   

লোকালহোস্ট: 3000 আছে pid: 6078

দ্বারা যে প্রক্রিয়া হত্যা

$sudo kill 6078  

তারপর চালান

$rails s

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.