Rails server mówi port już używany, jak zabić ten proces?
Jestem na Macu, robi:
Rails server
Otrzymuję:
2010-12-17 12:35:15] INFO WEBrick 1.3.1
[2010-12-17 12:35:15] INFO ruby 1.8.7 (2010-08-16) [i686-darwin10.4.0]
[2010-12-17 12:35:15] WARN TCPServer Error: Address already in use - bind(2)
Exiting
Wiem, że mogę uruchomić jeden na Nowym Porcie, ale chcę zabić ten proces. 9 answers
Zakładając, że chcesz zabić to, co jest na porcie 3000 (czyli tego, czego zwykle używa webrick), wpisz to w swoim terminalu, aby dowiedzieć się PID procesu:
$ lsof -wni tcp:3000
Następnie użyj liczby w kolumnie PID, aby zabić proces:
$ kill -9 PID
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-17 17:47:23
kill -9 $(lsof -i tcp:3000 -t)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-05 04:10:54
Musisz uzyskać identyfikator procesu programu używając portu tcp 3000. Aby uzyskać identyfikator procesu
lsof -i tcp:3000 -t
A następnie używając tego identyfikatora procesu, po prostu zabij proces używając polecenia Ubuntu kill.
kill -9 pid
Lub po prostu uruchom poniższe polecenie combine. Najpierw pobierze pid, a następnie zabije ten proces.
kill -9 $(lsof -i tcp:3000 -t)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-27 12:19:23
Dla każdego, kto natknie się na to pytanie, które nie znajduje się na komputerze Mac: zakładając, że wiesz, że twój serwer działa na porcie 3000, możesz to zrobić w jednym ujęciu, wykonując następujące czynności:
fuser -k 3000/tcp
Ale jak wspomniał Toby, implementacja fusera w Mac OS jest raczej prymitywna i to polecenie nie będzie działać na mac.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-22 22:30:58
Czasami jest szansa, że serwer rails nie zamknie się poprawnie. Możesz znaleźć proces używany przez rails
Szyny Ps aux | grep
Wyjście będzie takie jak
user 12609 9.8 0.5 66456 45480 pts/0 Sl+ 21:06 0:02 /home/user/.rvm/rubies/ruby-2.2.0-preview1/bin/ruby bin/rails s
Tutaj process_id 12609 jest używany przez twój serwer rails.
Możesz go łatwo zabić za pomocą polecenia
Kill -9 12609
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-16 15:40:41
Wszystkie powyższe odpowiedzi są naprawdę dobre, ale potrzebowałem sposobu, aby pisać jak najmniej w terminalu, więc stworzyłem do tego klejnot. Możesz zainstalować gem tylko raz i uruchomić komendę 'shutup' za każdym razem, gdy chcesz zabić proces Rails (będąc w bieżącym folderze).
gem install shutup
Następnie przejdź do bieżącego folderu twojego projektu rails i uruchom
shutup
# to zabije aktualnie uruchomiony proces Rails
Możesz użyć polecenia 'shutup' za każdym razem chcesz
DICLAIMER: jestem twórcą tego klejnotu
Uwaga: Jeśli używasz rvm zainstaluj gem globalnie
rvm @global do gem install shutup
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-17 14:54:46
Ps aux / grep rails użyj tej komendy możesz zabić Serwer
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-10 09:03:17
Wpisz:
man lsof
Następnie poszukaj-w, - n I-i
- i: internet stuff - N: sprawia, że szybciej -w: włącza Ostrzeżenia
Jest o wiele więcej szczegółów na stronach man
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-20 20:21:22
Jeśli korzystasz z komputera z systemem windows, wykonaj następujące kroki.
c:/project/
cd tmp
c:/project/tmp
cd pids
c:/project/tmp/pids
dir
Tam znajdziesz plik o nazwie server.pid
Usuń to.
c:/project/tmp/pid> del *.pid
To wszystko.
Edytuj: proszę odnieść się do tego
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:31:37