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;
} 
相关推荐
zr5268554473 分钟前
ModbusTCP 转 Profinet 主站网关
运维·服务器·网络
摸鱼的春哥9 分钟前
前端程序员最讨厌的10件事
前端·javascript·后端
青岛佰优联创新科技有限公司13 分钟前
服务器托管,服务器运维的选择
运维·服务器
NiKo_W1 小时前
Linux 初识
linux·运维·服务器
Aczone281 小时前
硬件(六)arm指令
开发语言·汇编·arm开发·嵌入式硬件·算法
FrozenLove_G2 小时前
服务器内存和普通计算机内存在技术方面有什么区别?
服务器·常识
牧羊狼的狼4 小时前
React 中的 HOC 和 Hooks
前端·javascript·react.js·hooks·高阶组件·hoc
江团1io05 小时前
深入解析TCP核心机制:连接管理、流量与拥塞控制
服务器·网络·tcp/ip
知白守黑2675 小时前
Ansible角色
运维·服务器·ansible
知识分享小能手6 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react