用perl来改写shell

用perl来改写shell,第1张

概述查看Web服务器的并发请求数及其TCP连接状态的命令 netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'   据说是从新浪互动社区事业部技术总监王老大那儿获得的,非常不错。 返回结果一般为 LAST_ACK 247 (正在等待处理的请求数)  SYN_REC

查看Web服务器的并发请求数及其TCP连接状态的命令

  netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'    

据说是从新浪互动社区事业部技术总监王老大那儿获得的,非常不错。

返回结果一般为

  LAST_ACK 247 (正在等待处理的请求数)     SYN_RECV 66     ESTABliSHED 1094 (正常数据传输状态)     FIN_WAIT1 258     FIN_WAIT2 629     TIME_WAIT 4792 (处理完毕,等待超时结束的请求数)   

其他参数说明:

  CLOSED:无连接是活动的或正在进行     ListEN:服务器在等待进入呼叫     SYN_RECV:一个连接请求已经到达,等待确认     SYN_SENT:应用已经开始,打开一个连接     ESTABliSHED:正常数据传输状态     FIN_WAIT1:应用说它已经完成     FIN_WAIT2:另一边已同意释放     ITMED_WAIT:等待所有分组死掉     CLOSING:两边同时尝试关闭     TIME_WAIT:另一边已初始化一个释放     LAST_ACK:等待所有分组死掉   

本人shell中awk语法不是特别熟悉,老是关键时刻用到这个的时候,不会写。顺便用perl改写了下,哈哈

  #!/usr/bin/perl -w          use strict;          our %hash;          open TCP,'netstat -n|' or dIE "$!\n";          while ( <TCP> ) {            chomp;            next unless /^tcp/;                 if ( exists $hash{(split /\s+/)[5]} ) {                $hash{(split /\s+/)[5]} ++;            } else {                $hash{(split /\s+/)[5]} = 1;            }                   close TCP;          while ( my($key,$val) = each %hash ) {            print "$key\t$val\n";       

一样的结果

总结

以上是内存溢出为你收集整理的用perl来改写shell全部内容,希望文章能够帮你解决用perl来改写shell所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1287756.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存