博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux Linux程序练习八
阅读量:6411 次
发布时间:2019-06-23

本文共 1566 字,大约阅读时间需要 5 分钟。

题目:自己动手实现一个守护进程,当控制台窗口关闭时还可以在后台运行。 每隔一秒钟向my.log文件中插入一条记录,记录格式如下:yyyy-mm-dd hh:mi:se 记录内容,其中yyyy为年,mm为月,dd为天,hh为小时,mi为分钟, se为秒。
#ifdef __cplusplusextern "C"{#endif//写日志函数//path:日志文件名//msg:日志信息int writelog(const char *path, const char * msg);#ifdef __cplusplus}#endif
#include 
#include
#include
#include
#include
#include
#include
#include "mylog.h"int main(int arg,char * args[]){ pid_t pid=0; pid=fork(); if(pid>0) { exit(0); } if(pid==0) { setsid(); chdir("/"); umask(0); close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO); int i=0; char buf[30]={ 0}; while(1) { sleep(1); sprintf(buf,"fly on air %d\n",i++); writelog("/home/test/1/testlog.txt",buf); memset(buf,0,sizeof(buf)); } } return 0;}
#include 
#include
#include
#include
#include
#include
#include
#include "mylog.h"int main(int arg,char * args[]){ pid_t pid=0; pid=fork(); if(pid>0) { exit(0); } if(pid==0) { setsid(); chdir("/"); umask(0); close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO); int i=0; char buf[30]={ 0}; while(1) { sleep(1); sprintf(buf,"fly on air %d\n",i++); writelog("/home/test/1/testlog.txt",buf); memset(buf,0,sizeof(buf)); } } return 0;}
.SUFFIXES:.c .oCC=gccSRCS=hello.cOBJS=$(SRCS:.c=.o)EXEC=tecdstart:$(OBJS)    $(CC) -L. -lmylog -o $(EXEC) $(OBJS)    @echo "^_^-----OK------^_^".c.o:    $(CC) -Wall -g -o $@ -c $

 

转载地址:http://dwkra.baihongyu.com/

你可能感兴趣的文章
poj 2441 Arrange the Bulls (状态压缩dp+滚动数组)
查看>>
几种字符串加密解密的方法
查看>>
IT业常见职位英语缩写全攻略及详解
查看>>
python IO编程-序列化
查看>>
redis的分布式解决方式--codis (转)
查看>>
全自动Web后门扫描(转)
查看>>
html&javaScript&ajax部分
查看>>
[Go] golang缓冲通道实现资源池
查看>>
coursera machine learning note
查看>>
Spring框架及IOC容器
查看>>
Unity3D动画面板编辑器状态属性对照表
查看>>
iOS开发--面试
查看>>
小数位 处理函数
查看>>
mybatis中一对多关系实现中的错误
查看>>
js如何获取字符串第几次出现的位置
查看>>
OWin
查看>>
尝尝C#的语法糖(自动属性/匿名方法/Lamda表达式等)-小心蛀牙!
查看>>
数组去重,面试必考题
查看>>
static全局变量与普通的全局变量的区别
查看>>
Android TextView 文字居中
查看>>