IO进程线程第五天(8.2)进程函数+XMind(守护进程(幽灵进程),输出一个时钟,终端输入quit时退出时钟)

1.守护进程(幽灵进程)

cpp 复制代码
#include<stdio.h>
#include<head.h>
int main(int argc, const char *argv[])
{
    pid_t cpid = fork();
    if(0==cpid)
    {   
        //创建新的会话
        pid_t sid=setsid();
        printf("sid=%d\n",sid);
        //修改运行目录为不可卸载的文件目录下
        chdir("/");
        //清空文件权限掩码
        umask(0);
        //关闭所有文件描述符
        for(int i=0;i<getdtablesize();i++)
            close(i);
        while(1)
        {
            //守护进程运行的周期性代码
        }
    }   
    return 0;                                                                                                                                     
} 

2.输出一个时钟,终端输入quit时退出时钟

cpp 复制代码
#include<stdio.h>
#include<head.h>
int main(int argc, const char *argv[])
{
    char a[20]="";
    pid_t cpid = fork();
    FILE *fp=fopen("1.txt","w");
    if(cpid>0)
    {   
        sleep(1);
        scanf("%s",a);
        fputs(a,fp);
        fclose(fp);
        while(1)
        {
            pid_t pid=waitpid(-1,NULL,WNOHANG);
            if(pid>0)
                break;
        }
    }   
    if(0==cpid)                                                                                                            
    {   
        FILE *fp=fopen("1.txt","r");
        time_t t;
        struct tm* info=NULL;
        while(1)
        {    
            t=time(NULL);
            info = localtime(&t);
            printf("%d-%02d-%02d %02d:%02d:%02d\r",\
                    info->tm_year+1900,info->tm_mon+1,info->tm_mday,\
                    info->tm_hour,info->tm_min,info->tm_sec);
            fflush(stdout);
            sleep(1);
            fgets(a,5,fp);
            if(0==strcmp(a,"quit"))
                exit(0);
        }
        fclose(fp);
    }   
    return 0;
} 
相关推荐
乌夷9 分钟前
axios结合AbortController取消文件上传
开发语言·前端·javascript
AndrewHZ11 分钟前
【Python生活】如何构建一个跌倒检测的算法?
python·算法·生活·可视化分析·陀螺仪·加速度计·跌倒检测
ARM2NCWU18 分钟前
云手机服务器搭建
服务器
丶Darling.21 分钟前
移动IP与手机移动数据流量的概念、原理、区别与联系
服务器·tcp/ip·智能手机
晓晓莺歌32 分钟前
图片的require问题
前端
写个博客1 小时前
代码随想录算法训练营第三十九天
算法
码农黛兮_461 小时前
CSS3 基础知识、原理及与CSS的区别
前端·css·css3
Web极客码1 小时前
虚拟主机与独立服务器:哪个更好?
运维·服务器·虚拟主机
水银嘻嘻1 小时前
web 自动化之 Unittest 四大组件
运维·前端·自动化
爆肝疯学大模型1 小时前
SQL server数据库实现远程跨服务器定时同步传输数据
运维·服务器·数据库