- 论坛徽章:
- 0
|
继旧版的问题,问红袖添香!!!
谢谢!
我还有问题:
#!/bin/sh
while read ip ; do
ping -c 20 $ip &
sleep 1 && echo "\033[1m*** time is over, terminate $ip ***\033[m"
ps ax | awk -v pat=$ip '$0 ~ pat {print $1}' | xargs kill -9
done <<EOF
10.0.0.2
10.0.0.77
10.0.0.78
10.0.0.88
EOF
bash-2.05:~/tmp$ sh tping
PING 10.0.0.2 (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=0.947 ms
*** time is over, terminate 10.0.0.2 ***
64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.476 ms
PING 10.0.0.77 (10.0.0.77): 56 data bytes
64 bytes from 10.0.0.77: icmp_seq=0 ttl=128 time=0.732 ms
64 bytes from 10.0.0.77: icmp_seq=1 ttl=128 time=1.139 ms
*** time is over, terminate 10.0.0.77 ***
PING 10.0.0.78 (10.0.0.7: 56 data bytes
*** time is over, terminate 10.0.0.78 ***
PING 10.0.0.88 (10.0.0.8: 56 data bytes
64 bytes from 10.0.0.88: icmp_seq=0 ttl=128 time=0.697 ms
64 bytes from 10.0.0.88: icmp_seq=1 ttl=128 time=0.500 ms
*** time is over, terminate 10.0.0.88 ***
假如,有一个用户正在telnet 10.0.0.2
在执行上面的程序时,不是也给kill了吗?
所以最好ps ax | awk -v pat=$ip '$0 ~ pat {print $1}' | xargs kill -9
加上具体的方式,pat=ping $ip,但要如何写呢,veal $ip??? |
|