Linux: найдите тонкий сервер, работающий на порту 80, и убейте его

На моем сервере Linux я запустил:

sudo thin start -p 80 -d

Теперь я хотел бы перезагрузить сервер. Проблема в том, что я не могу заставить старый процесс убить его. Я старался:

netstat -anp

Но то, что я вижу на порте 80, таково:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -         

Так что это не дало мне PID, чтобы убить...

Я старался pgrep -l thin но это ничего не дало мне. между тем pgrep -l ruby дает мне как 6 запущенных процессов. Я не очень понимаю, почему будет работать несколько рубиновых потоков, или какой мне нужно убить...

Как мне убить / перезапустить тонкий демон?

2 ответа

thin является драгоценным камнем Ruby, поэтому имеет смысл только запускать его на интерпретаторе Ruby.

Типичный вызов thin было бы:

bundle exec rails server thin -p $PORT -e $RACK_ENV

В списке процессов, из ps команда, это выглядит примерно так:

 6870 pts/3    Rl+    0:01 /usr/bin/ruby script/rails server thin -p 80 -e production

Когда используешь pgrepпо умолчанию совпадает только с именем команды (т.е. ruby). Это не будет совпадать, когда искомый шаблон появится в аргументах. Для этого вам нужно использовать -f вариант также:

pgrep -l -f thin

Возврат тогда выглядит так:

6870 /usr/bin/ruby script/rails server thin -p 80 -e production

И вуаля, есть процесс, который вы ищете.

Бег netstat -tulpn как root даст вам PID в выводе.

[root@hostname ~]# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN      3738/nrpe           
tcp        0      0 127.0.0.1:8005              0.0.0.0:*                   LISTEN      12747/java          
tcp        0      0 127.0.0.1:199               0.0.0.0:*                   LISTEN      3273/snmpd          
tcp        0      0 127.0.0.1:5000              0.0.0.0:*                   LISTEN      30110/python        
tcp        0      0 0.0.0.0:8009                0.0.0.0:*                   LISTEN      12747/java          
tcp        0      0 0.0.0.0:8649                0.0.0.0:*                   LISTEN      19770/gmond         
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1656/mysqld         
tcp        0      0 0.0.0.0:8651                0.0.0.0:*                   LISTEN      19794/gmetad        
tcp        0      0 0.0.0.0:8652                0.0.0.0:*                   LISTEN      19794/gmetad        
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN      12747/java          
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1914/httpd          
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      3885/dnsmasq        
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      13549/sshd          
tcp        0      0 127.0.0.1:5432              0.0.0.0:*                   LISTEN      12403/postgres      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      15834/master        
udp        0      0 0.0.0.0:40462               0.0.0.0:*                               3862/avahi-daemon   
udp        0      0 0.0.0.0:161                 0.0.0.0:*                               3273/snmpd          
udp        0      0 127.0.0.1:53                0.0.0.0:*                               3885/dnsmasq        
udp        0      0 10.182.10.5:8649            0.0.0.0:*                               19770/gmond         
udp        0      0 0.0.0.0:5353                0.0.0.0:*                               3862/avahi-daemon   
udp        0      0 10.182.10.5:123             0.0.0.0:*                               3335/ntpd           
udp        0      0 127.0.0.1:123               0.0.0.0:*                               3335/ntpd           
udp        0      0 0.0.0.0:123                 0.0.0.0:*                               3335/ntpd
Другие вопросы по тегам