`
sealbird
  • 浏览: 570679 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

如何调试守护进程

    博客分类:
  • C++
阅读更多
如何调试守护进程
我写了个守护进程,可是如何用gdb 调试呢,我试了attach pid 方法 可是他不能让程序停住呀。

如何调试守护进程

ctrl+c就停住了
如何调试守护进程

realy?

如何调试守护进程

守护进程通常都要通过一个daemon_init()类似的函数将进程转换为守护进程,你可以先将这个转换注释,将其作为一个普通进程调试,调试好了之后再转换为守护进程

如何调试守护进程

不错当前我就是这么做的  可是 你不知道。。 守护进程有些其他的特性 如 程序中用了大量的 字符操作 而且屏幕输出过多的话 就造成了溢出 (一开始没有想把它作为守护进程)  这我就想知道 为什么 守护进程中 的标准输出会造成溢出(大量的)他为什么会把 要输出到一个不存在的stdout设备上的信息写到了内存里地址里面。。

如何调试守护进程

高手们 怎么调呀  哭了

如何调试守护进程

呀,这就哭了?

如何调试守护进程
正在运行的守护进程,可以用 gdb 进程程序名 进程程序pid 来调试

如果在gdb下运行调试子进程,在gdb 下运行命令,set follow-fork-mode child 。

如何调试守护进程

我太谢谢你的回帖了


 #include <unistd.h>
	#include <signal.h>
	#include <sys/param.h>
	#include <sys/types.h>
	#include <sys/stat.h>

   #include <stdio.h>
   #include <time.h>
void init_daemon(void);//守护进程初始化函数
main(){
	FILE *fp;
	time_t t;
	init_daemon();//初始化为Daemon
	while(1)//每隔一分钟向test.log报告运行状态
	{
		sleep(2);//睡眠一分钟
		if((fp=fopen("test.log","a"))>=0){
			t=time(0);
			fprintf(fp,"Im here at %sn",asctime(localtime(&t)) );
			fclose(fp);
		}
	
  }

}

void init_daemon(void)
	{
		int pid;
		int i;
		if(pid=fork())
			exit(0);//是父进程,结束父进程
		else if(pid<0)
			exit(1);//fork失败,退出//是第一子进程,后台继续执行
		setsid();//第一子进程成为新的会话组长和进程组长//并与控制终端分离
		if(pid=fork())
			exit(0);//是第一子进程,结束第一子进程
		else if(pid<0)
			exit(1);//fork失败,退出//是第二子进程,继续//第二子进程不再是会话组长
		for(i=0;i<NOFILE;++i)//关闭打开的文件描述符
			close(i);
		chdir("/cygdrive/e/tmp");//改变工作目录到/tmpumask(0);//重设文件创建掩模
		return;
	} 


	//nIm here at Tue Jan 11 12:21:06 2011
分享到:
评论

相关推荐

    c#进程守护软件-附源码

    10、增加进程调用的部分日志显示框,主要是调试方便,日志超过30行自动清屏,未保存,可修改代码关掉或不显示,evertlog目录下多余的日志关掉了,仍然有小部分日志,,如有必要自行在代码中关掉即可。 11、底部增加...

    linux进程守护相关

    重要的守护进程,其中“crond、syslog、keytable、xinetd、kudzu、iptables”等是需要运行的,echo、echo-udp、daytime、daytime-udp、chargen、chargen-udp主要是做调试用,普通用户基本用不到,可以关闭。

    Linux守护进程

    Linux守护进程的写法,并且已通过调试,无任何错误~

    嵌入式系统中守护进程的编写及调试

    守护进程是Linux系统开发中很重要的知识点,很多朋友对这个问题掌握的不是很深入,今天我就写写这方面的问题,可以帮助大家熟悉守护进程的编写过程。

    fastd:适用于 FreeBSD 的快速安全隧道守护进程 (fastd)

    它由一个内核模块和一个用编写的用户空间守护进程组成。特征高性能TUN 支持(第 3 层) 双栈(IPv4 + IPv6) FHMQV(Fully Hashed Menezes-Qu-Vanstone)密钥交换空密码(无加密)安装内核模块 svnlite checkout ...

    非常宝贵的LINUX学习笔记

    【linux学习笔记-11】守护进程daemon 【linux学习笔记-12】守护进程的日志实现 【linux学习笔记-13】基本进程通信--文件锁 【linux学习笔记-14】基本进程通信--信号 【linux学习笔记-15】基本进程通信--管道 【linux...

    理解Unix进程 扫描中文版.pdf

    《理解Unix进程》提供的许多简单而强大的技术,能够帮助Web开发人员深入了解Unix系统的并发性、守护进程、生成进程(spawning process)与信号等。同时,读者也可以使用这些技术和方法编写并调试自己的服务器。此外,...

    squid命令 代理服务器守护进程

    squid命令是使用最广泛的代理服务器软件,可以节省网络带宽,提高网站的访问速度,它对服务器硬件的内存要求比较高。...以非守护进程模式运行 -X 强制进入完全调试模式 参考实例 创建缓存目录: [root@linuxcoo

    sshd命令 openssh服务器守护进程

    sshd命令是opensshd软件套件中的服务器守护进程。 openssh套件在不安全的网络中为两台为信任的主机之间建立加密的数据通信,是rlogin、rsh等明文传输数据的通信工具的替代品。sshd指令是openssh套件中的核心程序,...

    6种进程防杀方案和源码.rar

    为了避免父子进程关系,主进程启动临时进程,临时进程启动守护进程 优点:通用性较强,保护能力较强,可保护windows服务程序。hook防杀需要主程序和桌面交互的,而服务程序是不和桌面交互的 缺点:非真正的防杀,只是杀了又...

    理解Unix进程

    本书提供的许多简单而强大的技术,能够帮助Web 开发人员深入了解Unix 系统的并发性、守护进程、生成进程(spawning process)与信号等。同时,读者也可以使用这些技术和方法编写并调试自己的服务器。此外,本书附录...

    DTSD:StarMade 守护进程

    StarMade 守护进程 这个 BASH 项目诞生于需要从 SSH 访问控制台命令。 经过一番搜索,我能够调整现有的脚本以满足我的需要,也许还有许多其他人的需要。 随着时间的推移,它已经发展成为一种管理和服务器端修改 ...

    Hadoop完全分布式配置.txt

    启动所有的守护进程,具有hadoop完整的功能,可以使用HDFS、MapReduce和Yarn,并且这些守护进程运行在集群中,可以真正的利用集群提供高性能,在生产环境下使用。 本文主要讲解Hadoop的完全分布式安装

    adb-tools.rar

    Android 调试桥 (adb) 是一种功能多样的命令行工具,...守护进程 (adbd):在设备上运行命令。守护进程在每个设备上作为后台进程运行。 服务器:管理客户端和守护进程之间的通信。服务器在开发机器上作为后台进程运行。

    tempmon:基于 Python 的温度监控守护进程

    tempmon -- 温度监控守护进程 tempmon 使用从 USB 总线和上的传感器读取温度值以查找本地报告的温度并将结果发布到 设置 注册一个 plot.ly 帐户。 从您的,为每个传感器设备创建一个流令牌 安装 tempmon 及其依赖项...

    gopher-net:基于 Go 的 IP 路由守护进程

    地鼠网用 Go 编写的路由守护进程的集合。配置和运行bgp 部分的数据包库使用了 osrg 监控 bgp 实现以及配置选项的出色工作。 这将启用说话者启动和临时路由缓存。 仍然需要大量的工作,随意运行它的任何部分。 还需要...

    UNIX网络编程卷2进程间通信

    本书是一部UNIX网络API的经典之作!...I/O:复用高级函数,非阻塞和信号驱动 守护进程和inetd UNIX域协议 ioctl操作 广播和组播 线程 流 设计:TCP迭代的、并发的、预先创建的和预先线程化的服务器

    build-light:单板开发板计算机的守护进程,它轮询您的持续集成服务器并通过红绿灯报告构建状态

    Build Light 是一个守护进程,旨在在单板/开发板计算机上运行,​​它定期轮询您的持续集成服务器并通过 GPIO 连接的设备报告构建状态。 它主要用于通过继电器模块控制修改后的交通灯,但它也可以控制直接连接到您...

Global site tag (gtag.js) - Google Analytics