TL; DR बस इसे मारने के लिए इस कमांड को चलाएँ
sudo kill -9 $(lsof -i :3000 -t)
मूल कारण:
क्योंकि पीआईडी एक फ़ाइल में बंद है और वेब सर्वर को लगता है कि यदि वह फ़ाइल मौजूद है तो इसका मतलब है कि वह पहले से ही चल रही है। आम तौर पर जब कोई वेब सर्वर बंद होता है तो वह फ़ाइल हटा दी जाती है, लेकिन कुछ मामलों में, उचित विलोपन नहीं होता है इसलिए आपको मैन्युअल रूप से फ़ाइल सॉल्यूशंस फ़ाइल को निकालना होगा
जब तुम दौड़ते हो रेल
=> WEBrick को बूट करना
=> विकास में शुरू होने वाले 4.0.4 एप्लिकेशन को शुरू करता है http://0.0.0.0:3000
=> भागो rails server -h
अधिक स्टार्टअप विकल्पों के लिए
=> Ctrl-C सर्वर को शटडाउन करने के लिए
एक सर्वर पहले से चल रहा है। /Your_project_path/tmp/pids/server.pid चेक करें।
बाहर निकल रहा है
इसलिए अपना रास्ता यहाँ दिखाए गए /your_project_path/tmp/pids/server.pid पर रखें
और इस server.pid फ़ाइल को हटा दें :
rm /your_project_path/tmp/pids/server.pid
या आपके द्वारा सर्वर से अलग किया गया था तो नीचे दिए गए दिशानिर्देशों का पालन करें:
यदि आपने कमांड "रेल्स -d" का उपयोग करके सर्वर को अलग कर लिया है, तो
आदेश का उपयोग करके अलग किए गए सर्वर को हटाएं
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 ब्रेक