
linux多进程
Zhang-Zhen
工作记录●升级打怪
展开
-
linux 进程间通信-信号编程
1、函数实例。 下面这个示例首先使用 fork()创建了一个子进程,接着为了保证子进程不在父进程调用 kill()之前退出,在 子进程中使用 raise()函数向自身发送 SIGSTOP 信号,使子进程暂停。接下来再在父进程中调用 kill()向子 进程发送信号,在该示例中使用的是 SIGKILL,读者可以使用其他信号进行练习。 /* kill_raise.c */ #include <stdio.h> #include <stdlib.h> #include <sign原创 2021-04-19 00:56:21 · 445 阅读 · 1 评论 -
linux 进程间通信-有名管道编程
下面的实例包含了两个程序,一个用于读管道,另一个用于写管道。其中在读管道的程序里创建管道,并 且作为 main()函数里的参数由用户输入要写入的内容。读管道的程序会读出用户写入到管道的内容,这两 个程序采用的是阻塞式读写管道模式。 以下是写管道的程序: /* fifo_write.c */ #include <sys/types.h> #include <sys/stat.h> #include <errno.h> #include <fcntl.h>原创 2021-04-19 00:04:15 · 388 阅读 · 1 评论 -
linux 进程间通信-无名管道编程
在本例中,首先创建管道,之后父进程使用 fork()函数创建子进程,之后通过关闭父进程的读描述符和子 进程的写描述符,建立起它们之间的管道通信。 /* pipe.c */ #include <unistd.h> #include <sys/types.h> #include <errno.h> #include <stdio.h> #include <stdlib.h> #define MAX_DATA_LEN 256 #define原创 2021-04-18 23:31:02 · 218 阅读 · 0 评论 -
linux编写守护进程
1.实验目的 通过编写一个完整的守护进程,使读者掌握守护进程编写和调试的方法,并且进一步熟悉如何编写多进程 程序。 2.实验内容 在该实验中,读者首先建立起一个守护进程,然后在该守护进程中新建一个子进程,该子进程暂停 10s, 然后自动退出,并由守护进程收集子进程退出的消息。在这里, 子进程和 守护进程的退出消息都在系统日志文件(例如 “/var/log/messages”,日志文件的全路径名因版本的不同可能会 有所不同) 中输出。子进程退出后,守护进程循环暂停,其间隔时间为 10s。 3、流程图 4.实原创 2021-04-18 22:37:09 · 1300 阅读 · 0 评论 -
linux多进程程序编写
1.实验目的 通过编写多进程程序,使读者熟练掌握 fork()、exec()、wait()和 waitpid()等函数的使用,进一步理解在 Linux 中多进程编程的步骤。 2.实验内容 该实验有 3 个进程,其中一个为父进程,其余两个是该父进程创建的子进程,其中一个子进程运行“ls -l” 指令,另一个子进程在暂停 5s 之后异常退出,父进程先用阻塞方式等待第一个子进程的结束,然后用非阻 塞方式等待另一个子进程的退出,待收集到第二个子进程结束的信息,父进程就返回。 3.实验步骤 (1)画出该实验流程图。原创 2021-04-18 22:28:11 · 1120 阅读 · 0 评论