Unix环境高级编程-学习-04-匿名管道PIPE

目录

一、环境

二、介绍

三、C标准函数介绍

1、pipe

2、popen

3、pclose

4、注意

四、宏

五、常见的管道用法

1、一对一(父进程读子进程写一条管道)

2、一对一(父进程写子进程读一条管道)

3、一对多(父进程写子进程读多条管道)

 4、一对多(父进程写子进程读两条管道)

六、自定义结构体

1、结构体定义

2、结构体元素含义

七、自定义函数

1、TwoPipeOpen

八、Linux测试匿名管道实现消息队列

1、测试Demo

(1)TestTwoPipeReceive.c

(2)TestTwoPipeSend.c

2、编译

3、运行效果

(1)主进程日志

(2)子进程日志


一、环境

名称
CPUIntel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz
操作系统CentOS Linux release 7.9.2009 (Core)
内存3G
逻辑核数2

二、介绍

管道是Unix系统进程间通信的最古老方式,所有Unix系统都提供此种通信机制。但管道有以下局限性。

编号描述
1管道是半双工的(数据只能在一个方向上流动),虽然某些系统支持全双工管道,但为了程序的移植性,我们还是使用所有系统都支持的半双工管道。
2管道只能在父子进程间使用。例如:父进程创建管道,fork子进程,父子进程各自关闭不需要的管道,就可以使用管道了,之后可以根据实际需求是否执行exec系列函数。

管道使用时需小心的几种情况:

情况描述
1管道的写端都已经关闭,但有进程继续从管道的读端读取数据,在其把管道内的数据全部读取完毕之后,fgets便会返回NULL,我们可以用feof来判断是否读取到结尾。
2管道的写端没有全部关闭,也就是指其的引用计数大于0,并且没有继续往管道内写入数据,而管道的读端在继续读数据,当数据被全部读取完毕之后,读操作就会被阻塞。(深有体会,默默流下两行泪。)
3管道的读端都已经关闭,但有进程继续往管道写端写入数据,则会导致此进程收到SIGPIPE信号,之后进程便异常结束。
4管道的读端没有全部关闭,也就是指其的引用计数大于0,也没有从管道内读取数据,而有进程往管道写端写入数据,当管道被写满后,写操作便会被阻塞。

三、C标准函数介绍

1、pipe

名称描述
声明int pipe(int fildes[2]);
作用创建管道。
头文件#include <unistd.h>
返回值成功返回0。错误返回-1。
参数1、fd:函数返回的两个文件描述符,0号索引位为读而打开,1号索引位为写而打开。

2、popen

名称描述
声明FILE *popen(const char *command, const char *type);
作用创建一个管道连接子进程command,
如果type是r,则子进程的标准输出是管道的写入端,主进程读取端。
如果type是w,则子进程的标准输入是管道的读取端,主进程写入端。
头文件#include <stdio.h>
返回值成功返回文件指针。错误返回NULL。
参数1、command:创建子进程之后,执行的命令。
2、type:以什么方式创建管道。

3、pclose

名称描述
声明int pclose(FILE *stream);
作用关闭管道并且回收子进程资源。
头文件#include <stdio.h>
返回值成功返回command的终止状态。错误返回-1。
参数1、stream:需要关闭的管道。

4、注意

大家在引用了头文件stdio.h之后,可能还是调用不了popen和pclose函数,需要我们添加宏#define _GNU_SOURCE,之前也是看了半天才找到的,大家避免踩这个坑。

四、宏

默认值描述
PIPE_BUF4096原子写入管道中的字节数。

多进程写管道时,每次写的内容小于PIPE_BUF,可以保证原子的数据写入,不会出现数据交叉的问题。

五、常见的管道用法

我们通常会直接调用popen,因为省心,已经帮我们封装好了,它可以帮我们实现如下架构。

1、一对一(父进程读子进程写一条管道)

c3b753c6566b48d3a13d74ce75173a7b.png

2、一对一(父进程写子进程读一条管道)

这个图我就不画了,大家脑补一下,其实大差不多。

3、一对多(父进程写子进程读多条管道)

82e4df7ba6f64fcf846ac7d233061a91.png

我这边只画出了几种可以用popen实现的架构,还有其他一些的就不一一枚举了,但仔细想想popen是有以下几点局限性:

序号描述
1popen一次只能创建一个子进程,如果我们想要用管道实现消息队列,popen是不支持我们的想法的,消息队列一般是需要一个写端发送消息,多个读端读取消息,消息存放在一个队列(管道)中。
2popen创建子进程之后,只能与之建立一个半双工管道,如果说我们以写打开管道,发送消息给子进程,如何保证子进程接收到父进程的消息,我们需要两条管道来完成。

 4、一对多(父进程写子进程读两条管道)

ed0a1c36ca214da383bf1ebd27a4473c.png

由此我们需要一个新的popen,它支持如下功能:

序号描述
1创建一个子进程之后,建立两条管道一条写一条读,来维持父子进程之间的相互通信。
2创建多个子进程,父子进程间通过一读一写两条管道通信。

下面我们来看一下如何实现一个这样的架构呢。

六、自定义结构体

1、结构体定义

typedef struct PipeSt
{SqQueue       *PidQ;                  SqQueue       *ExitStatusQ;           QueueLenType  ChildProcNums;          PipeLenT      PipeR2W[PIPE_ARRAY_LEN];PipeLenT      PipeW2R[PIPE_ARRAY_LEN];FILE          *ReadPipe;              FILE          *WritePipe;             CopyStr       *ReadStr;               CopyStr       *WriteStr;              
}PipeSt;

2、结构体元素含义

名称描述
PidQ队列,存放申请的进程Pid。
ExitStatusQ队列,进程的退出状态,和PidQ一一对应。
ChildProcNums子进程数。
PipeR2W主进程读,子进程写。
PipeW2R主进程写,子进程读。
ReadPipe主进程读管道。
WritePipe主进程写管道。
ReadStr主进程读取的内容。
WriteStr主进程写入的内容。

七、自定义函数

1、TwoPipeOpen

Status TwoPipeOpen(const char *Cmd, PipeSt* St)
{JudgeAllNullPointer(Cmd);JudgeAllNullPointer(St);if (CreatePipe(St->PipeR2W) != SuccessFlag){LogFormat(Error,"TwoPipeOpen        : Fail.\n");return FailFlag;}if (CreatePipe(St->PipeW2R) != SuccessFlag){LogFormat(Error,"TwoPipeOpen        : Fail.\n");return FailFlag;}fflush(stdout);pid_t   Pid      = 0;while (St->PidQ->SqQueueLen != St->ChildProcNums){if (MyFork(&Pid) == FailFlag){LogFormat(Error,"TwoPipeOpen        : Fail.\n");return FailFlag;}fflush(stdout);if (Pid == 0){close(St->PipeR2W[PIPE_ARRAY_READ_INDEX]); if (St->PipeR2W[PIPE_ARRAY_WRITE_INDEX] != STDOUT_FILENO){if (dup2(St->PipeR2W[PIPE_ARRAY_WRITE_INDEX],STDOUT_FILENO) == -1){perror("dup2");exit(ExceptionExitFlag);}close(St->PipeR2W[PIPE_ARRAY_WRITE_INDEX]);}close(St->PipeW2R[PIPE_ARRAY_WRITE_INDEX]);if (St->PipeW2R[PIPE_ARRAY_READ_INDEX] != STDIN_FILENO){if (dup2(St->PipeW2R[PIPE_ARRAY_READ_INDEX],STDIN_FILENO) == -1){perror("dup2");exit(ExceptionExitFlag);}close(St->PipeW2R[PIPE_ARRAY_READ_INDEX]);}      execl("/bin/sh", "sh", "-c", Cmd, (char*)0);exit(ExceptionExitFlag);}EnterSqQueue(St->PidQ,&Pid);}close(St->PipeR2W[PIPE_ARRAY_WRITE_INDEX]); if ((St->ReadPipe = fdopen(St->PipeR2W[PIPE_ARRAY_READ_INDEX],READ_FILE_FLAG)) == NULL){LogFormat(Error,"TwoPipeOpen        : Fail.\n");return FailFlag;}close(St->PipeW2R[PIPE_ARRAY_READ_INDEX]);if ((St->WritePipe = fdopen(St->PipeW2R[PIPE_ARRAY_WRITE_INDEX],WRITE_FILE_FLAG)) == NULL){LogFormat(Error,"TwoPipeOpen        : Fail.\n");return FailFlag;}LogFormat(Debug,"TwoPipeOpen        : OK, Cmd : %s\n",Cmd);return SuccessFlag;
}
名称描述
声明Status TwoPipeOpen(const char *Cmd, PipeSt* St);
作用1.场景一:启动一个子进程,并创建两条管道连接子进程Cmd,一条是读,一条是写。
2.场景二:启动多个子进程,并创建两条管道连接子进程Cmd,一条是读,一条是写。管道相当于是一个队列。
头文件#include "MyPipe.h"
返回值1.SuccessFlag     : 成功。
2.FailFlag        : 失败。
参数1.Cmd             :  调用的子进程命令。
2.St              :  PipeSt结构体二级指针。

八、Linux测试匿名管道实现消息队列

1、测试Demo

(1)TestTwoPipeReceive.c

#include "MyPipe.h"
#include "FileOperate.h"#define TASK_REC_SUCCESS         "REC_SUCCESS"
#define TASK_REC_SUCCESS_LEN     11Status main()
{InitGlobalLogModle("./Log.txt",APPEND_PLUS_FILE_FLAG,WRITE_LOG_FLAG,NO_PRINT_LOG_FLAG);CopyStr *ReadStr  = NULL;CopyStr *WriteStr = NULL;InitCopyStrDefLen(&ReadStr,PIPE_BUF);InitCopyStrDefLen(&WriteStr,PIPE_BUF);while (1){if (ReadPipe(ReadStr,CHILD_PROCESS_READ_PIPE) != SuccessFlag){break;}ExecCopyStr(WriteStr,TASK_REC_SUCCESS);WritePipe(WriteStr, CHILD_PROCESS_WRITE_PIPE);}DestroyCopyStr(&ReadStr);DestroyCopyStr(&WriteStr);DestroyGlobalLogModle();return SuccessFlag;
}

(2)TestTwoPipeSend.c

#include "MyPipe.h"
#include "FileOperate.h"#define CHILD_PROC_NAME          "/opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/Process/TestTwoPipeReceive"
#define TEST_DATA_NUMS           100
#define TEST_DATA_LEN            30
#define TEST_CHILD_PROC          8#define TASK_REC_SUCCESS         "REC_SUCCESS"
#define TASK_REC_SUCCESS_LEN     11Status main()
{PipeSt           *MyPipe   = NULL;char             TestData[TEST_DATA_NUMS][TEST_DATA_LEN];QueueLenType     i;for (i = 0; i < TEST_DATA_NUMS; i++){sprintf(TestData[i],"%lld",i);}InitPipeSt(&MyPipe, TEST_CHILD_PROC);TwoPipeOpen(CHILD_PROC_NAME,MyPipe);i = 0;while (i < TEST_DATA_NUMS){ExecCopyStr(MyPipe->WriteStr,TestData[i]);if (WritePipe(MyPipe->WriteStr, MyPipe->WritePipe) == FailFlag){return FailFlag;}i++;if (ReadPipe(MyPipe->ReadStr,MyPipe->ReadPipe) == FailFlag){return FailFlag;}}TwoPipeClose(MyPipe);DestroyPipeSt(&MyPipe);return SuccessFlag;
}

2、编译

[gbase@czg2 Process]$ make
gcc -Wall -Wextra -O3 -std=gnu11  TestTwoPipeSend.c -o TestTwoPipeSend -I /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/ -I /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/Log/ -I /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/FileOperate/ -I /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/Process/ -I /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/DataConvertion/ -I /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/SqQueue/ -L /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/Make/Libs/ -L /usr/lib64/ -l PublicFunction -l Log -l FileOperate -l Process -l DataConvertion -l SqQueue
gcc -Wall -Wextra -O3 -std=gnu11  TestTwoPipeReceive.c -o TestTwoPipeReceive -I /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/ -I /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/Log/ -I /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/FileOperate/ -I /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/Process/ -I /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/DataConvertion/ -I /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/SqQueue/ -L /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/Make/Libs/ -L /usr/lib64/ -l PublicFunction -l Log -l FileOperate -l Process -l DataConvertion -l SqQueue

3、运行效果

主进程开启8个子进程,向管道中写入0-99一百条数据,8个子进程总共取到0-99一百条数据,没有重复消费数据。

(1)主进程日志

[gbase@czg2 Process]$ ./TestTwoPipeSend 
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Init SqQueue       : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Init SqQueue       : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-InitPipeSt         : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-CreatePipe         : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-CreatePipe         : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyFork             : OK, Pid : 11325.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyFork             : OK, Pid : 11326.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyFork             : OK, Pid : 11327.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyFork             : OK, Pid : 11328.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyFork             : OK, Pid : 11329.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-MyFork             : OK, Pid : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyFork             : OK, Pid : 11330.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyFork             : OK, Pid : 11331.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyFork             : OK, Pid : 11332.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-TwoPipeOpen        : OK, Cmd : /opt/Developer/ComputerLanguageStudy/C/DataStructureTestSrc/PublicFunction/Process/TestTwoPipeReceive
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 0
2024-01-29 16:19:37-P[11327]-T[0]-[Debug]-MyFork             : OK, Pid : 0.
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-MyFork             : OK, Pid : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 1
2024-01-29 16:19:37-P[11330]-T[0]-[Debug]-MyFork             : OK, Pid : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 2
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 3
2024-01-29 16:19:37-P[11331]-T[0]-[Debug]-MyFork             : OK, Pid : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 4
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 5
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 6
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 7
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 8
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 9
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 10
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 11
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 12
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 13
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 14
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 15
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 16
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 17
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 18
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 19
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 20
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 21
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 22
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 23
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 24
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 25
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 26
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 27
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 28
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 29
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 30
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 31
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 32
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 33
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 34
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 35
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 36
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 37
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 38
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 39
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 40
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 41
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 42
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 43
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 44
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 45
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 46
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 47
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 48
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 49
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 50
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 51
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 52
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 53
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 54
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 55
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 56
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 57
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 58
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 59
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 60
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 61
2024-01-29 16:19:37-P[11332]-T[0]-[Debug]-MyFork             : OK, Pid : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 62
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 63
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 64
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 65
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 66
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 67
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 68
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 69
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 70
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 71
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 72
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 73
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 74
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 75
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 76
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 77
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 78
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 79
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 80
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 81
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 82
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 83
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 84
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 85
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 86
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 87
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 88
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 89
2024-01-29 16:19:37-P[11326]-T[0]-[Debug]-MyFork             : OK, Pid : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 90
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 91
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 92
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 93
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 94
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 95
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 96
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 97
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 98
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-WritePipe          : OK, Data Content : 99
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ReadPipe           : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Read SqQueue       : OK.
2024-01-29 16:19:37-P[11328]-T[0]-[Debug]-MyFork             : OK, Pid : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ChkProcExitStatus  : OK, Normal Termination, Pid : 11325, Exit Status : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyWaitPid          : OK, RetPid : 11325.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Read SqQueue       : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ChkProcExitStatus  : OK, Normal Termination, Pid : 11326, Exit Status : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyWaitPid          : OK, RetPid : 11326.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Read SqQueue       : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ChkProcExitStatus  : OK, Normal Termination, Pid : 11327, Exit Status : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyWaitPid          : OK, RetPid : 11327.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Read SqQueue       : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ChkProcExitStatus  : OK, Normal Termination, Pid : 11328, Exit Status : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyWaitPid          : OK, RetPid : 11328.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Read SqQueue       : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ChkProcExitStatus  : OK, Normal Termination, Pid : 11329, Exit Status : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyWaitPid          : OK, RetPid : 11329.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Read SqQueue       : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ChkProcExitStatus  : OK, Normal Termination, Pid : 11330, Exit Status : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyWaitPid          : OK, RetPid : 11330.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Read SqQueue       : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ChkProcExitStatus  : OK, Normal Termination, Pid : 11331, Exit Status : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyWaitPid          : OK, RetPid : 11331.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Read SqQueue       : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-ChkProcExitStatus  : OK, Normal Termination, Pid : 11332, Exit Status : 0.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-MyWaitPid          : OK, RetPid : 11332.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Enter SqQueue      : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-TwoPipeClose       : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Destroy SqQueue    : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-Destroy SqQueue    : OK.
2024-01-29 16:19:37-P[11324]-T[0]-[Debug]-DestroyPipeSt      : OK.

(2)子进程日志

2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 0
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 1
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 2
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 3
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 4
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 5
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 6
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 7
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 8
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 9
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 10
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 11
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 12
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 13
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 14
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 15
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 16
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 17
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 18
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 19
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 20
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 21
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 22
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 23
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 24
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 25
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 26
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 27
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 28
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 29
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 30
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 31
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 32
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 33
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 34
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 35
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 36
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 37
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 38
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 39
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 40
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 41
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 42
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 43
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 44
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 45
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 46
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 47
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 48
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11330]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 49
2024-01-29 16:19:37-P[11330]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 50
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 51
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 52
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 53
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 54
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 55
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 56
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 57
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 58
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 59
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 60
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 61
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 62
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 63
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 64
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 65
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 66
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 67
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 68
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 69
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 70
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 71
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 72
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 73
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 74
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 75
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 76
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 77
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 78
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 79
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 80
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 81
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 82
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 83
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 84
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 85
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 86
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 87
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 88
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11327]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 89
2024-01-29 16:19:37-P[11327]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 90
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 91
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 92
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 93
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 94
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 95
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 96
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 97
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 98
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, Data Content : 99
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-WritePipe          : OK, Data Content : REC_SUCCESS
2024-01-29 16:19:37-P[11327]-T[0]-[Debug]-ReadPipe           : OK, The Pipe Read Ends, Data Content : ''
2024-01-29 16:19:37-P[11332]-T[0]-[Debug]-ReadPipe           : OK, The Pipe Read Ends, Data Content : ''
2024-01-29 16:19:37-P[11329]-T[0]-[Debug]-ReadPipe           : OK, The Pipe Read Ends, Data Content : ''
2024-01-29 16:19:37-P[11325]-T[0]-[Debug]-ReadPipe           : OK, The Pipe Read Ends, Data Content : ''
2024-01-29 16:19:37-P[11330]-T[0]-[Debug]-ReadPipe           : OK, The Pipe Read Ends, Data Content : ''
2024-01-29 16:19:37-P[11331]-T[0]-[Debug]-ReadPipe           : OK, The Pipe Read Ends, Data Content : ''
2024-01-29 16:19:37-P[11326]-T[0]-[Debug]-ReadPipe           : OK, The Pipe Read Ends, Data Content : ''
2024-01-29 16:19:37-P[11328]-T[0]-[Debug]-ReadPipe           : OK, The Pipe Read Ends, Data Content : ''

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/249556.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows Qt C++ VTK 绘制三维曲线

Qt 自带数据可视化从文档上看&#xff0c;只能实现三维曲面。 QwtPlot3D在Qt6.6.0上没编译通过。 QCustomPlot 只能搞二维。 VTK~搞起。抄官网demo。 后续需求&#xff1a; 1、对数轴 2、Y轴逆序 3、Z轴值给色带&#xff0c;类似等高线图的色带 期待各位大佬多多指导。…

vue前端页面时间显示问题解决方法

解决方法&#xff0c; <template slot-scope"scope"><span>{{ parseTime(scope.row.boxClosingOnlineTime, {y}-{m}-{d} {h}:{i}:{s}) }}</span> </template> 刷新页面&#xff1a; 此外&#xff0c;使用JsonFormat(pattern "yyyy-M…

C++ 哈希 开放定址法

哈希算法 哈希&#xff0c;是一种算法思想吗&#xff0c;它的核心是映射&#xff0c;哈希方法中使用的转换函数称为哈希(散列)函数&#xff0c;构造出来的结构称为哈希表(Hash Table)(或者称散列表) 在STL 中&#xff0c;提供了两个使用哈希底层实现的容器 unordered_set 和 …

【C++干货铺】哈希结构在C++中的应用

目录 unordered系列关联式容器 unordered_map unordered_map的接口说明 1.unordered_map的构造 2. unordered_map的容量 3. unordered_map的迭代器 4. unordered_map的元素访问 5. unordered_map的查询 6. unordered_map的修改操作 7. unordered_map的桶操作 底层结构 …

【unity小技巧】FPS简单的射击换挡瞄准动画控制

文章目录 射击动画控制换弹动画瞄准动画完结 射击动画控制 换弹动画 调用 瞄准动画 问题&#xff1a;瞄准时&#xff0c;但是动画会卡住&#xff0c;不会播放瞄准的待机动画 修改 调用 动画如果太快可以去修改播放速度 播放速度变慢了&#xff0c;可能导致切换待机动画也…

CS144--Chapter0--wsl2+docker环境搭建

我的笔记本配置 荣耀magicbook16&#xff0c;容量是500G&#xff0c;芯片是R7-5800 由于笔记本容量较小&#xff0c;因此考虑这个方案&#xff0c;对于台式机用户&#xff0c;建议可以直接用虚拟机或者双系统。 前言 斯坦福官网给出的方法是用他们的镜像&#xff08;基于Ubu…

Message Queue --- RabbitMQ

MessageQueue Intro 什么是MQ为什么使用MQ常见的MQ 什么是MQ MQ全称是Message Queue&#xff0c;消息的队列&#xff0c;因为是队列&#xff0c;所以遵循FIFO 先进先出的原则&#xff0c;它是一种跨进程的通信机制&#xff0c;用于上下游传递消息。在互联网架构中&#xff0c;M…

2024程序员的未来方向如何走?还看今朝

这几年的IT行业想必大家已经感受到了&#xff0c;Android、Java、前端等等程序员都经历了大厂裁员、小厂倒闭、找不到工作、毕业即失业的情况。大量失业是必然的&#xff0c;因为互联网公司都逐渐走向统一标准化&#xff0c;只剩下头部的一些大厂&#xff0c;所以市场需求少了。…

Spring实现事务(一)

Spring事务 .什么是事务事务的操作Spring中事务的实现准备工作创建表创建项目,引入Spring Web, Mybatis, mysql等依赖配置文件实体类 编程式事务(手动写代码操作事务)声明式事务(利用注解自动开启和提交事务) . 什么是事务 事务是⼀组操作的集合, 是⼀个不可分割的操作 在我们…

安装并开始设置 Windows 终端(命令提示符或Windows PowerShell或Azure Cloud Shell)

安装 安装 若要试用最新的预览功能&#xff0c;可能还需要安装 Windows 终端预览。 ‼️备注 如果你无法访问 Microsoft Store&#xff0c;GitHub 发布页上发布有内部版本。 如果从 GitHub 安装&#xff0c;Windows 终端将不会自动更新为新版本。 有关使用包管理器&#xff…

Qt QScrollArea 不显示滚动条 不滚动

使用QScrollArea时&#xff0c;发现添加的控件超出QScrollArea 并没有显示&#xff0c;且没有滚动条效果 原因是 scrollArea指的是scrollArea控件本身的大小&#xff0c;肉眼能看到的外形尺寸。 scrollAreaWidgetContents指的是scrollArea控件内部的显示区域&#xff0c;里面可…

51-17 视频理解串讲— MViT 论文精读

继TimeSformer模型之后&#xff0c;咱们再介绍两篇来自Facebook AI的论文&#xff0c;即Multiscale Vision Transformers以及改进版MViTv2: Improved Multiscale Vision Transformers for Classification and Detection。 本文由深圳季连科技有限公司AIgraphX自动驾驶大模型团…

Linux ---- Shell编程之函数与数组

目录 一、函数 1、函数的基本格式 2、查看函数列表 3、删除函数 4、函数的传参数 5、函数返回值 实验&#xff1a; 1.判断输入的ip地址正确与否 2. 判断是否为管理员用户登录 6、函数变量的作用范围 7、函数递归&#xff08;重要、难点&#xff09; 实验&#xff1…

力扣hot100 数据流的中位数 大小根堆

Problem: 295. 数据流的中位数 文章目录 思路复杂度&#x1f496; Code 思路 &#x1f468;‍&#x1f3eb; 参考 大根堆维护较小值&#xff08;堆顶即中位数&#xff09;&#xff0c;小根堆维护较大值&#xff08;堆顶可能是中位数之一&#xff09;维护小堆长度较长&#x…

第九节HarmonyOS 常用基础组件21-ImageAnimator

1、描述 提供帧动画组件来实现逐帧播放图片的能力&#xff0c;可以配置需要播放的图片列表&#xff0c;每张图片可以配置时长。 2、接口 ImageAnimator() 3、属性 参数名 参数类型 描述 images Array<ImageFrameInfo> 设置图片帧信息集合&#xff0c;每一帧的帧…

启动盘重装ubuntu22系统

win+R msinfo32查看 插入制作好的u盘电脑开机 进入BIOS界面的方法有多种,以下是一些常见的方法: 进入BIOS界面的最常见按键有: Del键:大多数台式机通过在启动时按下Del键来进入BIOS。Esc键:在AMI BIOS和某些品牌电脑中,进入BIOS系统需要按“Esc”键,一般在开机画面…

消息中间件之RocketMQ源码分析(四)

消费者的Rebalance机制 客户端是通过Rebalance服务做到高可靠的。当发生Broker掉线、消费者实例掉线、 Topic扩容等各种突发情况时&#xff0c;消费者组中的消费者实例是怎么重平衡的&#xff0c;以支持全部队列的正常消费的? Rebalance服务的类图 RebalanceImpl的核心属性 …

Springboot项目基础配置:小白也能快速上手!

推荐文章 给软件行业带来了春天——揭秘Spring究竟是何方神圣&#xff08;一&#xff09; 给软件行业带来了春天——揭秘Spring究竟是何方神圣&#xff08;二&#xff09; 给软件行业带来了春天——揭秘Spring究竟是何方神圣&#xff08;三&#xff09; 给软件行业带来了春天—…

Windows IIS服务如何配置并制作web站点结合内网穿透实现公网访问

文章目录 1. 安装IIS必要WebDav组件2. 客户端测试3. cpolar内网穿透3.1 打开Web-UI管理界面3.2 创建隧道3.3 查看在线隧道列表3.4 浏览器访问测试 4. 安装Raidrive客户端4.1 连接WebDav服务器4.2 连接成功4.2 连接成功总结&#xff1a; 自己用Windows Server搭建了家用NAS主机&…

【思科】 GRE VPN 的实验配置

【思科】GRE VPN 的实验配置 前言报文格式 实验需求配置拓扑GRE配置步骤R1基础配置GRE 配置 ISP_R2基础配置 R3基础配置GRE 配置 PCPC1PC2 抓包检查OSPF建立GRE隧道建立 配置文档 前言 VPN &#xff1a;&#xff08;Virtual Private Network&#xff09;&#xff0c;即“虚拟专…