当前位置:首页 > CN2资讯 > 正文内容

Linux Linux程序练习十七linux编译c++程序

12小时前CN2资讯
小结:使用fputs()向文件写入数据,要想实时看到结果,需要使用fflush清空缓冲区 /* * 题目:编写一个守护进程,每隔3秒钟将当前时间写入文件time.log, * 要求:不能使用init_daemon系统调用。 * */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <errno.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> void gettime_now(char *ptime) { time_t tdata = 0; //获取当前系统时间 time(&tdata); //定义时间结构体变量 struct tm *eventtime = NULL; //将time_t类型转成struct tm指针类型 eventtime = localtime(&tdata); //tm_year表示年份,从1900开始 int t_year = eventtime->tm_year + 1900; //月份,月份从0开始 int t_mon = eventtime->tm_mon + 1; //日 int t_day = eventtime->tm_mday; //小时 int t_hour = eventtime->tm_hour; //分 int t_min = eventtime->tm_min; //秒 int t_sec = eventtime->tm_sec; sprintf(ptime, "%d-%d-%d %d:%d:%d\n", t_year, t_mon, t_day, t_hour, t_min, t_sec); } int main(void) { pid_t pid = fork(); if (pid == -1) { perror("fork() err"); return -1; } if (pid == 0) { //创建新的会话期 setsid(); //设置当前目录为根目录 chdir("/"); //设置目录权限 umask(0); close(STDERR_FILENO); close(STDIN_FILENO); FILE *pfa = NULL; pfa = fopen("/home/test/1/time.log", "a"); if (pfa == NULL) { perror("fopen() err"); return -1; } //每隔3秒 int seconds = 0; while (1) { seconds = 3; do { seconds = sleep(seconds); } while (seconds > 0); //获取当前时间 char timearr[50] = { 0 }; gettime_now(timearr); strcat(timearr," \t\t打印时间\n\n"); printf("%s",timearr); //写入文件 fputs(timearr, pfa); //刷新缓冲区 fflush(pfa); } } else if (pid > 0) { exit(0); } return -1; } .SUFFIXES:.c .o CC=gcc SRCS=hello.c OBJS=$(SRCS:.c=.o) EXEC=ser SRCS1=tec01.c OBJS1=$(SRCS1:.c=.o) EXEC1=clt start:$(OBJS) $(OBJS1) $(CC) -o $(EXEC) $(OBJS) $(CC) -o $(EXEC1) $(OBJS1) @echo "^_^-----OK------^_^" .c.o: $(CC) -Wall -g -o $@ -c $< clean: rm -f $(OBJS) rm -f $(EXEC)
    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/25345.html

    分享给朋友:

    “Linux Linux程序练习十七linux编译c++程序” 的相关文章

    GMO VPS:可靠的虚拟专用服务器选择与性能分析

    在我对虚拟专用服务器(VPS)解决方案的探索中,GMO VPS引起了我的注意。作为日本GMO集团旗下的品牌,GMO VPS以其出色的性能和可靠性赢得了众多用户的信赖。我想分享一下为何这个平台如此受欢迎,以及它的相关背景和适用人群。 GMO VPS是如何运作的呢?它使用先进的虚拟技术,将物理服务器划分...

    腾讯云轻量云:简单易用的云服务器解决方案

    当我回顾腾讯云轻量应用服务器(简称轻量云)时,我觉得它真的是一款设计出色的产品。作为腾讯云推出的一项云服务,轻量云专注于轻量应用场景,强调的是“开箱即用”和“简单易用”。无论是初学者还是开发者,都能轻松上手,快速构建所需的网站或应用。 轻量云的规格多样,具有多种CPU和内存的组合选项,如2核2GB和...

    如何将800G硬盘进行有效分区

    在我们深入探讨硬盘分区之前,理解硬盘分区的概念非常重要。硬盘分区是将一个物理硬盘划分为多个独立部分的过程。每个分区就像独立的小仓库,可以用来存储不同类型的数据,比如系统文件、应用程序、甚至个人文件。当我第一次接触硬盘的时候,就被这个划分方法吸引住了。不仅能帮助我更好地管理和查找文件,还能提高系统的运...

    提升国际数据传输质量的9929线路分析与应用

    谈到9929线路,首先让我给大家介绍一下AS9929线路的基本情况。这条线路是中国联通为了满足国际市场的需求而推出的一种IP传输服务专线。它的起点在香港,通过海底光缆将中国与亚太及北美地区紧密连接。同时,这条线路还在欧洲和非洲设立了多个重要的网络节点(POP点),这就为跨国数据传输提供了坚实的基础。...

    最优秀的IP检测工具,提升网络安全与性能的选择

    IP检测工具是一种极为重要的网络资源,旨在帮助用户识别和分析IP地址信息。像我们在日常上网时,需要了解自己的网络状态,了解与其他用户的连接关系,这时候IP检测工具就显得尤为重要。无论你是网络管理员、开发者,还是只是单纯的网络用户,这类工具总是能够给你带来实用的信息与帮助。 了解IP检测工具的工作原理...

    反向代理的工作原理与应用场景详解

    反向代理概述 反向代理,听起来似乎有点复杂。实际上,这是一个位于客户端和服务器之间的“中间人”,它对客户端是透明的。换句话说,客户端并不知道有这个反向代理的存在。它的主要任务是接收客户端的请求,然后把这些请求转发给后端的服务器,再把服务器的响应返回给客户端。想象一下,反向代理就像一个邮递员,负责将信...