设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
Linux 程序设计专题讨论
›
[问题]如何让操作系统每隔一段时间就运行某个应用程序? ...
返回列表
查看:
842
|
回复:
2
[问题]如何让操作系统每隔一段时间就运行某个应用程序??
[复制链接]
小百合
小百合
当前离线
积分
28
IP卡
狗仔卡
发表于 2006-5-18 09:43:14
|
显示全部楼层
|
阅读模式
在这里详细说明一下我的目的,给这个应用程序起名叫A,
1. 操作系统启动后加载运行 A
2. A 执行一些任务,完成后就立刻把自己的执行权交还给操作系统
3. 过上一阵子(这个时间可以是固定的),操作系统又把执行权交给 A,但此时 A 必须重头被执行
4. 执行完后, A 又把执行权释放掉
5. 过一阵子,操作系统又执行 A
6. .........如此往复
于是,A 一秒钟会被执行好多次。
这样做需要用到哪些关键的函数??需要哪方面的知识呢??
熊猫没学过操作系统,只对进程机制有一点点皮毛的概念,再深入的就不懂了,还望大家提点
谢谢
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
mgjrr
mgjrr
当前离线
积分
156
IP卡
狗仔卡
发表于 2006-5-18 12:15:01
|
显示全部楼层
1.提交给cron.不过每秒都要执行n次的话,这个不好实现。
2.写一个主程序一直运行,到每个规定的时间就生成一个子进程,用A的代码填写子进程的程序体部分.此时只有一个程序.
或者在生成的子进程里执行exec("A"),这样的话,A作为一个单独的程序存在于磁盘上.
以上需要用到的主要函数有fork,exec.关于定时,如果小于1秒的话,可以用select或poll来实现.请参考<Unix环境高级编程>的相关部分.
回复
支持
反对
使用道具
举报
显身卡
DoDo
DoDo
当前离线
积分
1538
IP卡
狗仔卡
发表于 2006-5-18 20:12:00
|
显示全部楼层
楼主的要求最好还是把程序设计成一个持续运行的结构比较好. 即使不想使用 fork 这样的函数, 简单地使用 nanosleep(usleep 也一样, 不过 man 中说 usleep 已经不再被建议使用) 来控制运行频率, 或者设定一个 timer, 由系统主动定时调用, 这都是可选的方法
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
BSD 讨论专题
Redhat/Fedora/CentOS Linux
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表