1.ADB server didn't ACK,一般报ADB相关的错误,大部分是端口被占用了
处理方法:
在命令行输入>adb nodaemon server
如果返回:
cannot bind 'tcp:5037' 即adb server 端口绑定失败。
说明端口被占用了,要查找到被什么程序占用!
在命令行输入>netstat -ano | findstr "5037"
找到相关的 进程PID号 然后找出程序名!
在命令行输入>tasklist /fi "pid eq 4236"
查看到程序进程名,客户端启动任务管理杀死相应的程序进程,软件重启即可.
注:如果win命令窗口提示“不是内部或外部。。。”一般是相关的命令路径没添加到系统路径里面,添加进去就可以了
2.Linux根据进程名查看端口
如果你是个Linux爱好者,常用命令你应该很熟了,
用ps命令查看进程的id:
$ ps -ef | grep Name
其中每一行(很长的时候会占用若干行)的第二个字段就是进程的id。
当然,对于在java虚拟机中运行的进程,比如hadoop的守护进程,可以直接用jsp命令查看:
$ jps | grep Name
或者已经知道进程的确切名称,可以用pidof查看:
$ pidof Name
查看到进程id之后,使用netstat命令查看其占用的端口:
$ netstat -nap | grep pid
netstat -anp | grep 9010
如果你稍微仔细一点,你会发现,用的都是netsta命令,事实上,netstat是一个比较通用的网络统计命令,几乎适用于所有现在流行的操作系统,无论是Linux,Window,还是其他Unix,或者Unix-like操作系统,而且用法基本一致。
下面是一个对Windows系统中netstat命令行参数的详细解释。
格式:
netstat [-a] [-e] [-n] [-o] [-p Protocol] [-b] [-r] [-s] [-v] [Interval]
参数说明:
-a 显示所有连接和监听端口。
-n 以数字形式显示地址和端口号。
-o 显示与每个连接相关的所属进程 ID。
-p 在Windows系统中,该选项用于指定默认情况的子集。proto 显示 proto 指定的协议的连接;proto 可以是下列协议之一: TCP、UDP、TCPv6 或 UDPv6。
如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下; 包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP 部分。注意此选项
可能需要很长时间,如果没有足够权限可能失败。
-e 显示以太网统计信息。此选项可以与 -s选项组合使用。
-s 显示按协议统计信息。默认地,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息。
-r 显示路由表。
-v 与 -b 选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组件。
interval 重新显示选定统计信息,每次显示之间暂停时间间隔(以秒计)。按 CTRL+C 停止重新显示统计信息。如果省略,netstat 显示当前
配置信息(只显示一次)。