সার্ভার ইতিমধ্যে রিলে চলছে


137

আমি যখন rails sকমান্ডটি ব্যবহার করে রেল সার্ভার শুরু করছি তখন এটি প্রদর্শিত হচ্ছেA server is already running. Check C:/Sites/folder/Pids/Server.pids

আমি যখন ফাইলটি খুলি তখন এটি কেবল 4 সংখ্যার আউটপুট দেয় তাই আমি এই সমস্যাটি কীভাবে সমাধান করতে পারি?

অবগতির জন্য

  1. রেলস সিএমডি-এর আর কোনও উদাহরণ চলমান নেই।
  2. টাস্ক ম্যানেজারকে চেক করা হয়েছে তবে কেবল cmd.exeঅন্য কোনও প্রক্রিয়া চলছে তা দেখাচ্ছে। (উইন্ডোজ ব্যবহার করে)।

1
আমি সার্ভার.পিডকে \ টিএমপি \ পিডগুলি থেকে সরিয়ে নিয়েছি
user6746262

উত্তর:


195

ফাইলটি সরান: সি: / সাইটস / ফোল্ডার / পিডস / সার্ভার.পিডস

ব্যাখ্যা ইউনিক্স জমিতে কমপক্ষে আমরা সাধারণত সার্ভার.পিডের মতো কোনও ফাইলের প্রসেস আইডি (পিড) ট্র্যাক করি। আমি মনে করি এটি এখানে একই জিনিস করছে। এই ফাইলটি সম্ভবত ক্র্যাশ থেকে ছেড়ে গেছে।


5
এই ফাইলটি ঠিক কী করে এবং এর কারণ কী .. আপনি দয়া করে এটি আরও কিছুটা ব্যাখ্যা করুন :)
স্বপ্ন

11
দুঃখিত, আমার আরও মন্তব্য করা উচিত ছিল। ইউনিক্স জমিতে কমপক্ষে আমরা সাধারণত সার্ভার.পিডের মতো কোনও ফাইলের প্রসেস আইডি (পিড) ট্র্যাক করি। আমি মনে করি এটি এখানে একই জিনিস করছে। এই ফাইলটি সম্ভবত ক্র্যাশ থেকে ছেড়ে গেছে।
রাইঙ্কিনজ

আমি মনে করি আমি এটি গিট থেকে ক্লোন করেছি তাই আপনি কি মনে করেন এটি কোনও কারণ হতে পারে? github.com/swapnesh/
অ্যাড_টুইটার_

1
এটি করার পরেও আমি এখনও 3000-র জন্য একটি "ব্যবহারের বন্দর" পাচ্ছি Anyone যে কেউ জানেন কীভাবে আমি এটি ঠিক করতে পারি? ধন্যবাদ!
daveomcd

5
netstat -a -oকোন প্রক্রিয়া 3000 পোর্টটি কী ব্যবহার করছে তা দেখার জন্য একটি কমান্ড প্রম্পটে চালান
ররি

172

এটি কিল করতে এই কমান্ডটি চালান টিএল; ডিআর

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

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

যখন আপনি রেল চালাবেন

=> WEBrick বুট করা হচ্ছে

=> বেলগুলি 4.0.4 অ্যাপ্লিকেশনটি বিকাশে শুরু হচ্ছে http://0.0.0.0:3000

=> rails server -hআরও স্টার্টআপ বিকল্পগুলির জন্য চালান

=> সিটিআরএল-সি শটডাউন সার্ভারে

একটি সার্ভার ইতিমধ্যে চলছে। / আপনার_প্রজেক্ট_পথ / টেম্প / পিপিডস / সার্ভার.পিড পরীক্ষা করুন। প্রস্থান করা হচ্ছে

সুতরাং আপনার পথটি এখানে / আপনার_প্রজেক্ট_পথ / টিটিএম / পিপিডস / সার্ভার.পিড দেখান

এবং এই সার্ভার.পিড ফাইলটি সরান :

rm /your_project_path/tmp/pids/server.pid

অথবা যদি আপনার সার্ভারটি বিচ্ছিন্ন হয়ে যায় তবে নীচের নির্দেশিকাগুলি অনুসরণ করুন:

যদি আপনি "রেল-ডি" কমান্ড ব্যবহার করে আপনাকে রেল সার্ভারটি বিযুক্ত করে থাকেন,

কমান্ড ব্যবহার করে রেলগুলি বিযুক্ত সার্ভারটি সরান

ps -aef | grep rails

অথবা এই আদেশ দ্বারা

sudo lsof -wni tcp:3000

তারপর

kill -9 pID

অথবা এই আদেশটি ব্যবহার করুন

যে প্রোগ্রামে চলছে সেই বন্দর নাম দিয়ে প্রক্রিয়াটি সন্ধান এবং হত্যা করার জন্য। 3000 এর জন্য আপনার প্রোগ্রামটি চলছে এমন পোর্ট প্রতিস্থাপন করুন।

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

পুরানো সমাধান:

rails s -p 4000 -P tmp/pids/server2.pid

এছাড়াও আপনি আরও বিকল্পের জন্য এই পোস্টটি সন্ধান করতে পারেন একাধিক সার্ভার চলমান বিরতিতে 3.2.11 বিরতি আপডেট করুন


কারণ পিআইডি ফাইলটিতে লক হয়ে আছে এবং ওয়েব সার্ভার মনে করে যে সেই ফাইলটি যদি বিদ্যমান থাকে তবে এর অর্থ এটি ইতিমধ্যে চলছে। সাধারণত যখন ওয়েব সার্ভারটি বন্ধ থাকে তখন সেই ফাইলটি মুছে ফেলা হয়, তবে কিছু ক্ষেত্রে যথাযথ মুছে ফেলা হয় না তাই আপনাকে ম্যানুয়ালি ফাইলটি সরিয়ে ফেলতে হবে
তাইমুর চাঙ্গাইজ

আপনার ব্রাউজারটির দিকে ইঙ্গিত করা থাকলে এটি যত্নশীল: 3000!
আয়ারামোর

1
এর জন্য নিখুঁত সমাধানsudo kill -9 $(lsof -i :3000 -t)
new2cpp

84
lsof -wni tcp:3000

তারপরে আপনার রুবি প্রক্রিয়াটি দেখতে হবে এবং আপনি চালাতে পারেন

kill -9 processid

আপনার এখনই প্রক্রিয়াটি চালানো উচিত

rails s thin

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


27
kill -9 $(lsof -i tcp:3000 -t)

2
@ ক্লেমিটিএডাম রেলগুলি সাধারণত 3000 বন্দরে চালিত হয় He সে ভিত্তিতে প্রক্রিয়াগুলি অনুসন্ধান করে এবং সেগুলি ( -tবিকল্প) থেকে কেবল পিআইডি পেয়ে যায় এবং তারপরে পুনরুদ্ধারকৃত পিআইডি দ্বারা প্রক্রিয়াটি মেরে ফেলে।
টটিমেডলি

13

আপনি এটিকে হত্যা করে প্রক্রিয়া থেকে মুক্তি পেতে পারেন:

kill -9 $(lsof -i tcp:3000 -t)

আমার এটা ভাল লেগেছে. সুন্দর এবং সংক্ষিপ্ত, এখনও সম্পূর্ণ। চিয়ার্স।
লুনাকোডগার্ল

11
$ lsof -wni tcp:3000

# Kill the running process
$ kill -9 5946

$ rm tmp/server.pids

ফোরম্যান স্টার্ট ইত্যাদি পরিষেবা শুরু করুন


4

আপনি যখন নিজের সার্ভার প্রক্রিয়াটি মেরে ফেলেন এবং পিড ফাইলটি আপডেট হয় নি তখনই এটি ঘটে। সার্ভার.পিড ফাইল মুছে ফেলা ভাল সমাধান ।

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

rm <path to file Server.pid>


4

gem install shutup

তারপরে আপনার রেল প্রকল্পের বর্তমান ফোল্ডারে যান এবং চালান

shutup # এটি বর্তমানে চলমান রেল প্রক্রিয়াটিকে হত্যা করবে

আপনি যতবার চান 'শটআপ' কমান্ডটি ব্যবহার করতে পারেন

অস্বীকৃতি: আমি এই রত্নটির স্রষ্টা

দ্রষ্টব্য: আপনি যদি rvm ব্যবহার করে বিশ্বব্যাপী মণি ইনস্টল করেন

rvm @global do gem install shutup

3

সম্ভবত আপনি সার্ভার স্থগিত: ^Z

চারটি ডিজিটাল নম্বর যা vim C:/Sites/folder/Pids/Server.pidsআউটপুট দেয় তা হ'ল প্রক্রিয়া আইডি।

আপনার kill -9 processid, প্রসেস আইডি প্রতিস্থাপন 4 টি সংখ্যার সাথে করা উচিত যা ভিম (বা অন্যান্য সম্পাদক) বেরিয়ে গেছে।


সার্ভারটি সঠিকভাবে বন্ধ করার সঠিক উপায় কী? সিটিআরএল + সি?
stt106

1

আপনি যদি উইন্ডোতে থাকেন তবে আপনাকে কেবল 'রেল পুনরায় চালু' হিসাবে কেবল একটি পদক্ষেপ করতে হবে এবং তারপরে আবার 'রেলস' টাইপ করুন আপনি যেতে ভাল।


1

উইন্ডোজ রেলস 5.2 এ, এই ফাইলটি মুছুন

c:/Sites/<your_folder>/tmp/pids/server.pid

এবং চালান

rails s

আবার।


1

চালান: fuser -k -n tcp 3000

এটি ডিফল্ট পোর্ট 3000 চলমান প্রক্রিয়াটিকে হত্যা করবে।


0

আমি কেবল এই সমস্যাটি নিয়েছি এবং এটি অন্য একটি বন্দরে স্থাপনের চেষ্টা করেছি, তবে আমার একমাত্র কাজটি করা দরকার তা ছিল আমার [app_directory]/tmp/pids/server.pidএবং সমস্ত কিছু মুছতে মুছতে মুছতে ।


0

চালান:

উবুন্টু / লিনাক্সে

 sudo rm /var/www/html/rails/WBPOCTEST/tmp/pids/server.pid

অথবা

 pkill -9 ruby

অথবা

lsof -wni tcp:3000

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