ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

UDP、TCP四大检测工具——ping netstat watch pidof

UDP、TCP四大检测工具——ping netstat watch pidof bit::Shadow✧(≖ ◡ ≖✿目录一、ping —— 网络连通性测试功能基本用法输出解读常用选项实际案例二、netstat —— 网络状态查看老牌工具功能常用组合强烈推荐记这个输出示例实际案例三、watch —— 定时执行命令实时监控功能基本用法常用选项实际案例退出四、pidof —— 根据进程名查 PID功能基本用法输出示例常用选项实际案例五、xargs —— 将标准输入转为命令行参数批量操作神器功能基本用法常用选项实际案例六、组合使用实战场景场景 1实时监控某个服务的端口状态场景 2批量杀死所有 Python 进程场景 3检查某个服务是否在运行场景 4实时监控某个进程的网络连接七、命令速查表八、终极总结一句口诀8-10一、ping—— 网络连通性测试功能测试本机到目标主机的网络是否通畅测量往返延迟RTT。基本用法bashping 192.168.1.1 ping baidu.com ping -c 4 192.168.1.1 # 只发 4 个包 ping -i 0.5 192.168.1.1 # 间隔 0.5 秒发一个包默认 1 秒输出解读bash64 bytes from 192.168.1.1: icmp_seq1 ttl64 time0.123 ms字段含义icmp_seq包的序号判断是否丢包跳号说明丢包ttl生存时间每经过一个路由器减 1可推测目标距离time往返延迟越小越好常用选项选项作用-c N发送 N 个包后停止-i N间隔 N 秒发一个包-s N设置包大小默认 56 字节-W N超时时间秒实际案例bash# 检查网关是否正常 ping -c 3 192.168.1.1 # 检查 DNS 是否正常能解析域名说明 DNS 通 ping -c 2 baidu.com二、netstat—— 网络状态查看老牌工具功能显示网络连接、路由表、接口统计等信息。常用组合强烈推荐记这个bashnetstat -tulnp # 查看所有监听端口 对应进程选项含义-tTCP 连接-uUDP 连接-l仅显示监听状态的端口-n显示数字 IP 和端口不解析域名-p显示进程名和 PID需 root-a显示所有连接不仅是监听-r显示路由表输出示例bash$ netstat -tulnp 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:22 0.0.0.0:* LISTEN 1234/sshd tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5678/nginx udp 0 0 0.0.0.0:8888 0.0.0.0:* 9012/udp_server解读0.0.0.0:80表示监听所有网卡的 80 端口HTTP 服务。127.0.0.1:3306表示只监听本地的 3306 端口MySQL外部无法访问。LISTEN表示正在监听等待连接。实际案例bash# 查看谁占用了 8888 端口 netstat -tulnp | grep 8888 # 查看所有 TCP 连接包括已建立的 netstat -tanp # 查看路由表 netstat -rn三、watch—— 定时执行命令实时监控功能周期性地执行指定命令并清屏显示输出适合实时监控变化。基本用法bashwatch -n 2 netstat -tulnp | grep 8888 # 每 2 秒检查一次 8888 端口的状态常用选项选项作用-n N每隔 N 秒执行一次默认 2 秒-d高亮显示变化的行方便看出差异-t不显示标题行时间戳实际案例bash# 实时监控系统负载 watch -n 1 uptime # 实时监控内存使用 watch -n 2 free -h # 实时监控某个进程是否存活 watch -n 1 ps aux | grep udp_server # 监控网卡流量变化结合 ifconfig watch -n 1 ifconfig eth0 | grep RX packets退出按Ctrl C退出。四、pidof—— 根据进程名查 PID功能根据进程名查找对应的进程 IDPID。基本用法bashpidof nginx # 输出所有 nginx 进程的 PID pidof sshd pidof udp_server输出示例bash$ pidof nginx 1234 1235 1236 # 输出多个 PID如果启动了多个进程常用选项选项作用-s只返回第一个 PID单实例进程-x也匹配脚本进程如 shell 脚本实际案例bash# 杀掉所有 nginx 进程 kill -9 $(pidof nginx) # 检查某个服务是否在运行 if [ -n $(pidof udp_server) ]; then echo udp_server is running else echo udp_server is not running fi五、xargs—— 将标准输入转为命令行参数批量操作神器功能从标准输入读取数据将其作为参数传递给其他命令。基本用法bashecho 1 2 3 | xargs mkdir # 创建 1、2、3 三个目录 ps aux | grep nginx | awk {print $2} | xargs kill -9 # 批量杀进程常用选项选项作用-n N每次传递 N 个参数分批处理-I {}用{}占位符替换参数处理带空格的文件名-P N并行执行 N 个进程-0以\0分隔配合find -print0处理特殊文件名实际案例bash# 批量删除所有 .log 文件 ls *.log | xargs rm -f # 批量压缩所有 .txt 文件每次传 3 个 ls *.txt | xargs -n 3 gzip # 并行压缩用 4 个进程同时压缩 ls *.txt | xargs -P 4 -n 1 gzip # 查找并删除所有 .tmp 文件处理空格文件名 find . -name *.tmp -print0 | xargs -0 rm -f # 自定义占位符批量创建备份 ls *.conf | xargs -I {} cp {} {}.bak六、组合使用实战场景场景 1实时监控某个服务的端口状态bashwatch -n 2 netstat -tulnp | grep 8888场景 2批量杀死所有 Python 进程bashps aux | grep python | awk {print $2} | xargs kill -9 # 更安全的写法确认后再杀 ps aux | grep python | awk {print $2} | xargs -p kill -9 # -p 会询问确认场景 3检查某个服务是否在运行bashif [ -n $(pidof udp_server) ]; then echo ✅ udp_server 正在运行PID: $(pidof udp_server) else echo ❌ udp_server 未运行 fi场景 4实时监控某个进程的网络连接bashwatch -n 1 netstat -tanp | grep $(pidof udp_server)七、命令速查表命令功能最常用法ping测试网络连通性ping -c 4 baidu.comnetstat查看网络状态netstat -tulnp | grep 8888watch定时执行命令监控watch -n 2 命令pidof按进程名查 PIDpidof nginxxargs批量执行命令ps aux | grep ... | xargs kill八、终极总结一句口诀ping 测通不通netstat 看端口watch 实时瞅pidof 找 PIDxargs 批量干组合起来最顺手。
返回列表