![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 396 阅读 · 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 · 312 阅读 · 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 · 176 阅读 · 0 评论 -
linux编写守护进程
1.实验目的通过编写一个完整的守护进程,使读者掌握守护进程编写和调试的方法,并且进一步熟悉如何编写多进程程序。2.实验内容在该实验中,读者首先建立起一个守护进程,然后在该守护进程中新建一个子进程,该子进程暂停 10s,然后自动退出,并由守护进程收集子进程退出的消息。在这里, 子进程和守护进程的退出消息都在系统日志文件(例如“/var/log/messages”,日志文件的全路径名因版本的不同可能会 有所不同)中输出。子进程退出后,守护进程循环暂停,其间隔时间为 10s。3、流程图4.实原创 2021-04-18 22:37:09 · 1243 阅读 · 0 评论 -
linux多进程程序编写
1.实验目的通过编写多进程程序,使读者熟练掌握 fork()、exec()、wait()和 waitpid()等函数的使用,进一步理解在 Linux中多进程编程的步骤。2.实验内容该实验有 3 个进程,其中一个为父进程,其余两个是该父进程创建的子进程,其中一个子进程运行“ls -l”指令,另一个子进程在暂停 5s 之后异常退出,父进程先用阻塞方式等待第一个子进程的结束,然后用非阻塞方式等待另一个子进程的退出,待收集到第二个子进程结束的信息,父进程就返回。3.实验步骤(1)画出该实验流程图。原创 2021-04-18 22:28:11 · 962 阅读 · 0 评论