Linux:找到在端口 80 上运行的瘦服务器并将其终止

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 个进程在运行。我不太明白为什么会有多个 ruby​​ 线程运行,或者我需要终止哪一个线程...

我如何终止/重新启动瘦守护进程?

答案1

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

瞧,这就是您正在寻找的流程。

答案2

以 root身份运行netstat -tulpn将会在输出中给出 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

相关内容