ping命令
使用ping命令来检测两个主机之间是否能够连通,检测对应的IP地址或网址。
比如,我们要检测这台主机能不能连接www.baidu.com,
如果能看到这样的字段,就表示这台主机可以连接这个网址。如果未来我们写了一种网络服务,我们怎么样访问都没有结果,此时就可以先通过ping命令来确认是不是网络没连通,如果网络能连通,就证明是我们写的网络服务本身有问题。
另外,如果我们使用ping命令,一旦开始默认是不会停止的。但是如果我们只想查3次,我们就需要加-c3:
ping -c3 www.baidu.com
netstat命令
netstat命令用来查看网络状态。ps这个命令只能查看到偏向于进程的属性字段,
如果想查看更多网络方面的属性字段,就需要用netstat命令,如果想查看关于UDP的,就可以加上-u选项,加上-a选项就是查所有的UDP服务,
再加上-p选项,就可以查到对应的进行是哪个,
注:这里由于是用普通用户身份去查的,所以看不到默认启动的UDP服务,需要用root才能查到。
为了查到 - 的内容,需要使用提升权限:
另外,我们在查询的时候,第三列Local Address是主机名称,但是如果想显示IP地址,可以加上-n选项,n可以理解成number的意思,就是把能显示成数字的全部显示成数字,
所以,最后netstat命令用下来的的选项就是 -aupn,选项的顺序可以调换,比如-uapn。
除了使用-u查看UCP,还可以使用-t查看TCP,
另外,我们看到最后一列属性是State,如果只想显示处于LISTEN状态的,就可以使用-l命令,
同样的,使用-n选项把能显示成数字的全部显示成数字,
还可以加上-p选项,查和哪个进程对应。
总结一下netstat的常见选项:
- n拒绝显示别名,能显示成数字的全部显示成数字
- l仅列出有在Listen的服务状态
- p显示建立相关链接的程序名
- t(tcp)仅显示tcp相关选项
- u(udp)仅显示udp相关选项
- a(all)显示所有选项
//每个1s执行一次 netstat -nltp
watch -n 1 netstat -nltp
pidof命令
为了便于查进程pid,可以使用pidof命令,
我们拿到进程pid不是目的,使用pid才是目的,可以使用这个命令杀掉进程:
pidof udp_server | xargs kill -9
管道是一个文件,通过管道把pidof udp_server查到的pid传给kill命令时,实际上是通过kill命令的标准输入文件描述符0来把输入读到kill命令里的,但是kill一定要把pid放到命令行参数当中才行。xargs的作用就是把管道中传递过来的数据转化为后续命令的命令行参数。
版权归原作者 核动力C++选手 所有, 如有侵权,请联系我们删除。