LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 770|回复: 7

请教一个问题! 关于定时执行

[复制链接]
发表于 2005-8-15 15:26:59 | 显示全部楼层 |阅读模式
我需要定时执行一个程序
               
    1) linux本身的cron (方便。)   可好像在crontab中执行是全后台的,有什么结果都发mail到root里。我需要的是——执行的程序还可以弹出界面, 请问cron 可以实现吗?
     
    2) 又想到用一个for循环来执行
               for((i=1;i<=60;i++))
                      do
                      sleep 60
                       done

       但有个我需要 ,,能随时终止程序,关闭这个for循环。这个for循环可以在一定时间里跳出,但不能随时关闭跳出。

请各位大哥大姐~~~能给我出出主意~~~~~~~~~~~~~~
发表于 2005-8-15 16:30:12 | 显示全部楼层
不明白你的意思,
at不知道合不合用
回复 支持 反对

使用道具 举报

发表于 2005-8-15 21:06:17 | 显示全部楼层
不明白你的意思。。
ps -ef 可以查看所有的进程,要干掉它就kill -9 psID 无论他是后台还是前台

查看后台进程可以用job命令
finger好象可以让它显示到前台。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-16 11:11:11 | 显示全部楼层
呵呵,不好意思说的太含糊
我说的有两个问题
           1) 有没有一种方法,能让crontab 能定时执行有界面的程序 比如说每一个小时执行一次,弹出一个界面。at只能执行一次,不能多次执行。
           2)我用for循环可以达到以上的效果,但好像不能随时停止,我用 kill 杀,,没杀掉;杀了一个进程,就有生成另一个进程
回复 支持 反对

使用道具 举报

发表于 2005-8-17 00:59:12 | 显示全部楼层
方法2:杀死执行 for 的 shell (sh/bash 之类进程)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-17 09:44:24 | 显示全部楼层
en!   直接杀死shell是可以的
没有一个方法可以在shell开始运行时 就自动读到他的进程号~~~或把他的进程号输出到文件
回复 支持 反对

使用道具 举报

发表于 2005-8-17 10:44:33 | 显示全部楼层
cron不是设计用来执行交互式的程序的,哪怕是非GUI式的。要实现楼主的功能,就是写daemon.启动是将$$保存到pid文件中。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-17 11:21:19 | 显示全部楼层
恩  我试了好多种方法,也觉得cron是不能交互,弹出界面

不过我终于把第2种方法搞好了(呵呵~~刚学很菜!)
实现了 1)执行一个文件; 启动定时执行(就是用上面的for)
       2)再执行一个文件; 关闭定时执行 (就是根据文件名,匹配出进程号,然后kill 掉)。这个借鉴了别人的例子。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表