shell脚本之测试进程状态推荐

根据守护进程的运行状态来测试网络的连接情况,这样的做法远比直接查找网络连接状态的参数要好。下面通过一个脚本来对一个指定的进程名进行状态测试,并将测试结果显示到标准输出上。

代码:

#!/bin/bash#提示用户指定一个守护进程名 并将名字暂存到变量n_prog中echo "check up progress status"echo -n "Input a name of progress:"read n_prog#定义一些常量 定义每次发送测试结果的参数到标准输出的时间间隔pro_file_name=statusnot_connected=65interval=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..."#判断变量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#若指定进程对应的文件存在 但进程没有处于连接状态 则执行if结构语句while [ true ] if [ ! -e "/proc/$pidno/$pro_file_name" ] then echo "But he progress is disconnected" echo exit $not_connected#获取一些连接的参数 并输出到标准输出上 netstat -s |grep "packets received" netstat -s |grep "packets delivered"#每隔一秒显示一个参数 相隔的时间由变量$interval定义 sleep $interval echoexit 0 

使用ls命令测试一下:

OVER~~

做自己的决定。然后准备好承担后果。

shell脚本之测试进程状态推荐

相关文章:

你感兴趣的文章:

标签云: