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;
} 
相关推荐
清汤饺子8 小时前
OpenClaw 本地部署教程 - 从 0 到 1 跑通你的第一只龙虾
前端·javascript·vibecoding
颜酱8 小时前
图的数据结构:从「多叉树」到存储与遍历
javascript·后端·算法
爱吃的小肥羊10 小时前
比 Claude Code 便宜一半!Codex 国内部署使用教程,三种方法任选一!
前端
IT_陈寒12 小时前
SpringBoot项目启动慢?5个技巧让你的应用秒级响应!
前端·人工智能·后端
树上有只程序猿12 小时前
2026低代码选型指南,主流低代码开发平台排名出炉
前端·后端
橙某人12 小时前
LogicFlow 小地图性能优化:从「实时克隆」到「占位缩略块」!🚀
前端·javascript·vue.js
高端章鱼哥13 小时前
为什么说用OpenClaw对打工人来说“不划算”
前端·后端
大脸怪13 小时前
告别 F12!前端开发者必备:一键管理 localStorage / Cookie / SessionStorage 神器
前端·后端·浏览器
Mr_Mao13 小时前
我受够了混乱的 API 代码,所以我写了个框架
前端·api
小徐_233313 小时前
向日葵 x AI:把远程控制封装成 MCP,让 AI 替我远程控制设备
前端·人工智能