![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
进程和线程
Linux进程和线程的区别以及进程和线程间的通信机制
依旧野指针
abort
展开
-
Linux进程间通信——管道
进程间通信顾名思义就是两个或多个进程间进行通信,在UNIX系统中IPC(InterProcess Commu)是各种进程通信方式的总称。以下对几种进程间通信方式进行说明。匿名管道(pipe)这是一种半双工的工作方式,只适用于有亲缘关系的进程间使用,通常由一个进程创建,该进程调用fork,此后父子进程就可以使用该管道。#include <stdio.h>#include <unistd.h>#include <fcntl.h>#include <stdli原创 2020-07-22 14:31:29 · 89 阅读 · 0 评论 -
进程的创建和回收
进程的概念在操作系统的角度来看进程是操作系统分配资源的最小单位。简单来说进程就是处于执行期的程序(目标码存放在某种存储介质上)。但进程并不局限于一段可执行程序代码(代码段)。通常进程还要包含其他资源,像打开的文件(即在Linux中对应的文件描述符),挂起的信号,内核内部数据,处理器的状态,一个或多个具有内存映射的内存地址空间及一个或多个执行线程,当然包括用来存放全局变量的数据段等。进程的创建进程的创建使用fork()函数,该函数通过系统调用复制一个现有进程来创建一个全新的进程,调用fork()的进程原创 2020-07-18 18:35:52 · 416 阅读 · 0 评论 -
Linux中真正的系统调用——exec函数族
exec函数族一般在使用过程中,通常通过fork创建一个新的进程都是为了立即执行新的、不同的程序,通过调用exec函数族创建新的地址空间,并载入新的程序。最终通过exit()系统调用退出执行,提到这个函数可以想到与之相近的几个函数,如下:exit() 终结当前进程并将其所占用的资源释放掉。_exit()和_Exit()终结当前进程但不会释放所占用的资源。return 结束当前函数,并且带出返回值。exec函数族的原型如下:int execl(const char *path, const原创 2020-07-18 19:08:52 · 305 阅读 · 0 评论 -
信号
信号说起信号并不陌生,从常见的事物触发,例如红绿灯就是一个信号,当红灯亮起,表示停止信号,绿灯亮起表示执行信号,在Linux终端可通过kill -l命令查看系统中的信号。其中最常用到的比如SIGINT,SIGQUIT,SIGABRT,SIGKILL等信号,守护进程...原创 2020-07-18 22:50:06 · 98 阅读 · 0 评论