我正在我的 Ubuntu 系统上安装 hadoop。当我启动它时,它报告端口 9000 繁忙。
我用了:
netstat -nlp|grep 9000
Run Code Online (Sandbox Code Playgroud)
看看这样的端口是否存在,我得到了这个:
   tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能得到持有它的进程的 PID?
我正在尝试从已执行命令的输出中执行 IF 语句。这是我尝试这样做的方法,但它不起作用。有谁知道正确的方法来做到这一点?
if [ "`netstat -lnp | grep ':8080'`" == *java* ]; then
  echo "Found a Tomcat!"
fi
Run Code Online (Sandbox Code Playgroud) 查找未使用的本地端口的最简单方法是什么?
目前我正在使用类似的东西:
port=$RANDOM
quit=0
while [ "$quit" -ne 1 ]; do
  netstat -a | grep $port >> /dev/null
  if [ $? -gt 0 ]; then
    quit=1
  else
    port=`expr $port + 1`
  fi
done
Run Code Online (Sandbox Code Playgroud)
感觉非常迂回,所以我想知道是否有更简单的路径,例如我错过的内置函数。
我正在尝试在我的 linux 机器上运行 weblogic 服务器,但出现以下错误:
ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
Run Code Online (Sandbox Code Playgroud)
我认为该错误意味着默认情况下为 8453 的调试器端口已被某些其他服务保留。如何找出在特定端口号中运行的服务?
PS:我使用了netstat命令,但它显示了占用所有端口的所有服务..这里我只对特定端口感兴趣。
例如:sshd 配置为仅侦听 wlan0。所以。除了检查 sshd_config 之外,我如何检查守护进程是否正在侦听什么接口?netstat 可以吗?如何?(操作系统:openwrt 或 science linux 或 openbsd)
更新:
我认为 sshd 可能仅限于一个接口......但没有......(192.168.1.5 在 wlan0 上......)
# grep ^ListenAddress /etc/ssh/sshd_config 
ListenAddress 192.168.1.5:22
# 
# lsof -i -n -P
COMMAND     PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
sshd      23952 root    3u  IPv4 1718551      0t0  TCP 192.168.1.5:22 (LISTEN)
#
# ss -lp | grep -i ssh
0      128              192.168.1.5:ssh                           *:*        users:(("sshd",23952,3))
# 
# netstat -lp | grep -i ssh
tcp        0      0 a.lan:ssh                   *:*                         LISTEN      23952/sshd          
#
Run Code Online (Sandbox Code Playgroud) netstat -s 打印出许多非常详细的协议统计信息,例如收到的 TCP 重置消息数或发送的 ICMP“回显请求”消息数或由于丢失路由而丢弃的数据包数。
netstat现在在 Linux 中被认为已弃用时,还有其他选择吗?
ss -s与提供的统计数据相比,由 提供的统计数据是肤浅的netstat。
我正在使用chromium browser(chrome) 和pepperflashpluginin Debian。我注意到,chromium/pepperflashplugin 在我的公共接口上打开了一个监听端口,0.0.0.0:5353如下所示netstat:
netstat -lptun
Proto  Recv-Q  Send-Q  Local Address  Foreign Address  State  PID/Program name     
udp         0       0  0.0.0.0:5353   0.0.0.0:*               13971/libpepflashpl
Run Code Online (Sandbox Code Playgroud)
我之前一直在使用 Firefox (Iceweasel),我从未见过浏览器/flash-plugin 打开端口。事实上,我从未见过任何客户端应用程序在0.0.0.0.
为什么铬要这样做?
这有必要吗?
我可以禁用这个吗?
我可以在禁用pepperflashplugin的情况下启动chrome吗?
输出 netstat 上的“tcp6”列是什么意思?请任何人解释netstat的以下输出:
tcp6 0 0 dmz.local.net:www 5.140.235.6%14631:49964 ESTABLISHED 21393/apache2
tcp6是什么意思?
我有一台电脑:
Linux superhost 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
它在所有接口上的端口 80 上运行 Apache,并且它没有出现在 中netstat -planA inet,但意外地可以在 中找到netstat -planA inet6:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 :::5672                 :::*                    LISTEN      2402/beam.smp   
tcp6       0      0 :::111                  :::*                    LISTEN      1825/rpcbind    
tcp6       0      0 :::9200                 :::*                    LISTEN      2235/java       
tcp6       0      0 :::80                   :::*                    LISTEN      2533/apache2    
tcp6       0      0 :::34611                :::*                    LISTEN      1856/rpc.statd  
tcp6       0      0 :::9300                 :::* …Run Code Online (Sandbox Code Playgroud) 我已经听过很多次了,而且我现在大部分时间都在使用ss。但有时我会对两者之间的差异感到沮丧,我希望获得一些见解。
此外,我不可能是唯一一个在使用ss. 不是一个伟大的名字。