Rails server dice puerto ya utilizado, ¿cómo matar ese proceso?
Estoy en un mac, haciendo:
Servidor Rails
Obtengo:
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
Sé que puedo iniciar uno en un nuevo puerto, pero quiero eliminar este proceso.
9 answers
Asumiendo que estás buscando matar lo que está en el puerto 3000 (que es lo que webrick normalmente usa), escribe esto en tu terminal para averiguar el PID del proceso:
$ lsof -wni tcp:3000
Luego, use el número en la columna PID para matar el proceso:
$ 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-05 04:10:54
Necesita obtener el id del proceso del programa utilizando el puerto tcp 3000. Para obtener el id del proceso
lsof -i tcp:3000 -t
Y luego usando ese id de proceso, simplemente mata el proceso usando el comando ubuntu kill.
kill -9 pid
O simplemente ejecute el comando combine mencionado a continuación. Primero buscará pid y luego matará ese proceso.
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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-27 12:19:23
Para cualquiera que tropiece con esta pregunta que no está en un Mac: suponiendo que sepa que su servidor se está ejecutando en el puerto 3000, puede hacer esto de una sola vez ejecutando lo siguiente:
fuser -k 3000/tcp
Pero como Toby ha mencionado, la implementación de fuser en Mac OS es bastante primitiva y este comando no funcionará en mac.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-22 22:30:58
Algunas veces existe la posibilidad de que el servidor rails no se cierre correctamente. Puede encontrar el proceso utilizado por rails
Carriles Ps aux | grep
La salida será como
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
Aquí process_id 12609 es usado por su servidor rails.
Se puede matar fácilmente por comando
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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-16 15:40:41
Todas las respuestas anteriores son realmente buenas, pero necesitaba una forma de escribir lo menos posible en la terminal, así que creé una gema para eso. Puedes instalar la gema solo una vez y ejecutar el comando 'shutup' cada vez que quieras matar el proceso Rails (estando en la carpeta actual).
gem install shutup
Luego vaya a la carpeta actual de su proyecto rails y ejecute
shutup
# esto eliminará el proceso Rails que se está ejecutando actualmente
Puede usar el comando 'shutup' cada vez usted quiere
DICLAIMER: Yo soy el creador de esta gema
NOTA: si está utilizando rvm, instale la gema globalmente
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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-17 14:54:46
Ps aux / grep rails utilice este comando puede matar el servidor
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-10 09:03:17
Escriba:
man lsof
Luego busca-w,- n, y-i
- i: cosas de internet - n: hace que sea más rápido - w: cambia las advertencias
Hay muchos más detalles en las páginas de manual
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-20 20:21:22
Si está en una máquina con Windows, siga estos pasos.
c:/project/
cd tmp
c:/project/tmp
cd pids
c:/project/tmp/pids
dir
Allí encontrará un archivo llamado servidor.pid
Eliminarlo.
c:/project/tmp/pid> del *.pid
Eso es todo.
EDITAR: Por favor refiérase a esto
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 10:31:37