根据守护进程的运行状态来测试网络的连接情况,这样的做法远比直接查找网络连接状态的参数要好。下面通过一个脚本来对一个指定的进程名进行状态测试,并将测试结果显示到标准
根据守护进程的运行状态来测试网络的连接情况,这样的做法远比直接查找网络连接状态的参数要好。下面通过一个脚本来对一个指定的进程名进行状态测试,并将测试结果显示到标准输出上。
代码:
#!/bin/bash # #提示用户指定一个守护进程名 并将名字暂存到变量n_prog中 echo "check up progress status" echo -n "Input a name of progress:" read n_prog # #定义一些常量 定义每次发送测试结果的参数到标准输出的时间间隔 pro_file_name=status not_connected=65 interval=2 #搜索变量n_prog中指定的守护进程的进程号 pidno=$( ps ax |grep -v "ps ax" |grep -v grep|grep $n_prog|awk '{print $1}') # echo "checkingfor \"$n_prog\",please wait..." echo #判断变量pidno的值是否为空 if [ -z "$pidno" ] then echo "The status be stopped..." echo "And belong to not connected" echo exit $not_connected else echo "The status is running..." echo "And belong to connected" echo fi # #若指定进程对应的文件存在 但进程没有处于连接状态 则执行if结构语句 while [ true ] do if [ ! -e "/proc/$pidno/$pro_file_name" ] then echo "But he progress is disconnected" echo exit $not_connected fi #获取一些连接的参数 并输出到标准输出上 netstat -s |grep "packets received" netstat -s |grep "packets delivered" #每隔一秒显示一个参数 相隔的时间由变量$interval定义 sleep $interval echo done exit 0
使用ls命令测试一下:
OVER~~