免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: guoliangbo
打印 上一主题 下一主题

急切请教各位高手:如何控制脚本的执行? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2005-06-02 00:50 |只看该作者

急切请教各位高手:如何控制脚本的执行?

  1. #!/bin/bash
  2. cd ~/mystarV0.1
  3. ./mystar
  4. while :
  5. do
  6. sleep 2
  7. ping 219.222.66.254 > /dev/null
  8. killall ping
  9. if [ $? -ne 0 ] ; then
  10.          killall mystar
  11.         ./mystar
  12. fi
  13. done
复制代码


mystar是我的校园网认证端。每次认证成功后,中途会断线,但mystar不会出错,一直在运行。所以我每次都要killall mystar 然后再运行。。
我写了上面那个script但是这个脚本只会运行到第二行。因为mystar都不会退出也不会出错。不会执行下面的。。。

就一直停在那。。

跟不用脚本是一个样的。


上面waker的那个方法我试了不行。。

论坛徽章:
0
22 [报告]
发表于 2005-06-02 16:50 |只看该作者

急切请教各位高手:如何控制脚本的执行?

顶~~~~~~~~~~~~~~

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
23 [报告]
发表于 2005-06-02 17:33 |只看该作者

急切请教各位高手:如何控制脚本的执行?

  1. cat >keeponline<<\EOF
  2. #!/bin/bash
  3. while :
  4. do
  5. ping -c 5 -W 30  219.222.66.254  &>/dev/null
  6. if [ $? -eq 1 ]
  7. then
  8. killall  mystar
  9. ~/mystarV0.1/mystar
  10. fi
  11. sleep 600
  12. done
  13. EOF
  14. chmod +x  keeponline
  15. ./keeponline &
复制代码

论坛徽章:
0
24 [报告]
发表于 2005-06-02 19:54 |只看该作者

急切请教各位高手:如何控制脚本的执行?

还是不行,执行到mystar这里就停在这了。。

它认证成功后,中间断线,不会产生错误。。也不会中断退出。。

一直停在那里。不会执行循环。。

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
25 [报告]
发表于 2005-06-02 20:06 |只看该作者

急切请教各位高手:如何控制脚本的执行?

那就不用while循环
写个脚本
[code]
#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin
ping -c 5 -W 30  219.222.66.254  &>/dev/null
if [ $? -eq 1 ]
then
killall  mystar
~/mystarV0.1/mystar
fi
[code]

加到crontab中去运行
YG哥,你的mystar是个脚本吧?如果是,要把它调用命令的进程一并杀掉

论坛徽章:
0
26 [报告]
发表于 2005-06-02 20:19 |只看该作者

急切请教各位高手:如何控制脚本的执行?

mystar是用C写的。
应该是从xsupplicant改来的。
我学校用的是锐捷认证。是改过的802.1。。
这个程序不是锐捷官方的认证程序,是网上一个叫netxray的人写的。
我将源码传上来。解压密码是netxray
我编译后它可以认证,
这的配置文件有下面这一段
  1. #enable intelligent reconnect?
  2. #Intelligent reconnecting means pinging your netgate every 2 seconds, and if
  3. #pinging returns timeout, we will restart authentication.
  4. #Note: this parameter is NOT supported and ignored NOW!
  5. # 1 means enable, and 0 means disable
  6. intelligentReconnect=1

复制代码


我设了自动重连,但是但并不工作,应该是源程序的问题。
我写脚本也是按照它注释的来写的。
ping网关不过,就kill重连。。

谢谢waker的热心帮心。
BTW:我姓余。GC才是我的名字缩写,不是YG

论坛徽章:
0
27 [报告]
发表于 2005-06-02 20:23 |只看该作者

急切请教各位高手:如何控制脚本的执行?

发现只给上传图片。。等一下。我给个链接。。

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
28 [报告]
发表于 2005-06-02 20:24 |只看该作者

急切请教各位高手:如何控制脚本的执行?

sorry,YGC哥,打丢了一个字

论坛徽章:
0
29 [报告]
发表于 2005-06-02 20:28 |只看该作者

急切请教各位高手:如何控制脚本的执行?

http://bbs.whnet.edu.cn/upload/mystarV0.1-src.zip
这是源码,,
下面http://bbs.whnet.edu.cn/cgi-bin/ ... 2184.A&num=5539
这是作者的简短说明。。

waker太客气了。。

帮忙看看。。


C以前学过点皮毛,看不懂源码的说。

论坛徽章:
0
30 [报告]
发表于 2005-06-02 21:57 |只看该作者

急切请教各位高手:如何控制脚本的执行?

没有用循环,加入到/etc/crontab中,让它5分钟执行一次。。

我的crontab如下 、
  1. # for vixie cron
  2. #
  3. # $Header: /var/cvsroot/gentoo-x86/sys-process/vixie-cron/files/crontab-3.0.1-r4,v 1.1 2005/03/04 23:59:48 ciaranm Exp $
  4. #
  5. #

  6. # Global variables
  7. SHELL=/bin/bash
  8. PATH=/sbin:/bin:/usr/sbin:/usr/bin
  9. MAILTO=root
  10. HOME=/

  11. # check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly
  12. 0  *  * * *        root        rm -f /var/spool/cron/lastrun/cron.hourly
  13. 1  3  * * *        root        rm -f /var/spool/cron/lastrun/cron.daily
  14. 15 4  * * 6        root        rm -f /var/spool/cron/lastrun/cron.weekly
  15. 30 5  1 * *        root        rm -f /var/spool/cron/lastrun/cron.monthly
  16. */10  *  * * *        root        test -x /usr/sbin/run-crons && /usr/sbin/run-crons

  17. ####### mystar ###########
  18. 5 * * * *        root        /root/keeponline.sh
  19. ############################

复制代码


然后我执行
#crontab /etc/crontab

但是5min后发现keeponline.sh都没有执行。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP