当前位置:  技术问答>linux和unix

如何实现核心守护进程!!!!!!!!!!!

    来源: 互联网  发布时间:2015-08-10

    本文导语:  通常所写的都是用户空间的守护进程,即这样的守护进程有可能会被换进或换出;而核心空间的守护进程是驻留于核心物理内存的,即这样的守护进程和内核一样是不换页的,其运行速率自然要高. 请问如何实现核心空间...

通常所写的都是用户空间的守护进程,即这样的守护进程有可能会被换进或换出;而核心空间的守护进程是驻留于核心物理内存的,即这样的守护进程和内核一样是不换页的,其运行速率自然要高.

请问如何实现核心空间的守护进程,如果用写内核模块的方法实现有可能吗,要怎么写??
问题在于在內核空间不能象在用户空间一样调用fork();系统调用,可以吗?!

请高手指点!
谢谢!

|
除非你实现为内核模块
不然怎么能不被换出去呢?

|
kernel thread

|
fork childen process。kill father process

|
请教各位,我实现守护进程 -- 利用中的void daemon_init(const char *pname, int facility)函数。进程启动要么在执行fork时退出,要么是成功执行daemon_init后,在以后某处停止。这是为什么?
代码如下(我稍作了修改):
#include

#define MAXFD 64

//extern int daemon_proc; /* defined in error.c */
#ifndef WIN32

void daemon_init(const char *pname, int facility)
{
int i;
pid_t pid;

if ( (pid = fork()) != 0)
exit(0); /* parent terminates */

/* 41st child continues */
setsid(); /* become session leader */

signal(SIGHUP, SIG_IGN);
if ( (pid = fork()) != 0)
exit(0); /* 1st child terminates */

/* 42nd child continues */
// daemon_proc = 1; /* for our err_XXX() functions */

chdir("/"); /* change working directory */

umask(0); /* clear our file mode creation mask */

for (i = 0; i 

    
 
 

您可能感兴趣的文章:

  • C语言实现的mogstored守护进程 cmogstored
  • 守护进程接收信号杀死或重启子进程 如何实现?
  • 守护进程如何实现监视,一发现自己异常退出就重新启动?
  • 在一个socket守护服务进程中,如何实现同时监听两个端口?
  • Python实现Linux下守护进程的编写方法
  • 如果一个server进程要fork许多子进程,但不等待子进程终止,也不希望子进程结束后处于僵进程状态直到父进程终止。请问可采用什么方法实现
  • 如何实现子进程根据父进程的信号来确定是否终止子进程???
  • 我要实现当进程打开文件时,根据文件名判断是否符合要求,符合后处理文件,再把文件返回给进程,怎么实现啊
  • linux命令如何实现重启父进程而不会使其子进程退出
  • 如何实现这样的API,可同时被不同的进程/线程使用,但是又不区分进程/线程?
  • 请教急:shell怎么实现进程监控,重启进程
  • 请教如何编程实现父进程产生多个子进程
  • 在linux,如何用共享内存来实现进程间的通讯?(这些进程没有父子关系)
  • help help busy!!! 请问如何让一个进程进入dead状态或者编程实现让一个进程进入dead状态
  • liunx中如何用C实现检测某个进程时候存在,如不存在,启动该进程。。。。。。。。
  • 如何实现管道和后台进程
  • 怎么实现这个类?(进程间通信)
  • 单个消息队列能实现进程间聊天功能吗?
  • 进程同步,用进程+SYS V信号量实现如下前趋图
  • 怎么实现父进程不管被Kill掉还是自己错误而退出,子进程都不会受影响而被终止
  • 进程间通信:pthread_cond使用在线程间,我要进程间条件同步(没有情缘关系的进程),采用什么方呢?也就是说我要在UNIX实现WIN32上命名Event的功能
  • NOSQL iis7站长之家
  • unix的进程pooling是如何实现的
  • 多个进程对系统V共享内存进行读写,怎样实现对共享内存部分进行加解锁?
  • strace程序截获进程的系统调用实现方法是什么?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 有那位朋友看过Java2核心技术中的自定义布局管理器,在其中方法preferredLayoutSize的实现是怎样的?看不明白,高手解释一下
  • python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
  • C# 游戏外挂实现核心代码
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • socket实现多文件并发传输,求助多线程实现问题?
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • interface 到底有什么用???实现接口,怎么实现??
  • 通过javascript库JQuery实现页面跳转功能代码
  • 怎么用Jsp实现在页面实现树型结构?
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • windows 下的PortTunnel 在linux下怎么实现?或者相应的已经实现的软件?端口映射
  • php实现socket实现客户端和服务端数据通信源代码
  • 网站重定向用C语言实现iptables,ACL实现
  • flash AS3反射实现(describeType和getDefinitionByName)
  • 在linux下如何编程实现nslookup命令实现的IP地址和域名互相转换的功能?
  • boost unordered_map和std::list相结合的实现LRU算法
  • 求在freebsd+Squid下实现pc上网的透明代理的实现方法!给出具体配置方法的高分谢!
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • linux下如实现与window下的驱动器实现文件共享??
  • 使用java jdk中的LinkedHashMap实现简单的LRU算法
  • qt如何实现:操作键盘实现数据的滚动?
  • iphone cocos2d 精灵的动画效果(图片,纹理,帧)CCAnimation实现
  • 我想用APPLET实现读取客户端的图片文件,该如何实现?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • PING是用TCP,还是用UDP来实现的?或是采用其它协议实现的?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3