Linux进程间通信之管道
1.管道的分类:
按有无名称,管道主要分为有名管道和匿名管道
2.匿名管道
管道是一种进程之间进行单向通信的方式,由于其通信只是单方向的,所以起有以下缺点:
1.通信只是单方向的,通信太局限
2.其缓冲区大小是一定的,缓冲区满了之后就无法继续再写入数据。
3.通过管道传输的只能是无格式的字节流。
4.只能用于具有亲缘关系的进程之间,如父子进程,兄弟进程。...
分类:
系统相关 时间:
2015-08-04 11:24:46
阅读次数:
238
进程调度负责决定哪个进程投入运行,何时运行以及运行多长时间。 进程调度:非抢占式和抢占式
Linux这么酷的系统当然是抢占式的喽。 进程在被抢占之前可以运行的时间是预先设定好的,叫做时间片。有效管理时间片能使调度程序从系统全局角度作出调度决定,避免个别进程独占系统资源。I/O消耗型/处理器消耗型
I/O消耗型:进程的大部分时间用来提交I/O请求或是等待I/O请求,这样的进程经常处于可...
分类:
系统相关 时间:
2015-08-03 19:16:35
阅读次数:
301
一、Linux进程间通信ipc(Inter-ProcessCommunication)几种主要手段简介:管道(Pipe)及有名管道(namedpipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;信号(Signal):信..
分类:
系统相关 时间:
2015-08-03 14:56:08
阅读次数:
154
信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式。信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了那些系统事件。如果该进程当前并未处于执行态,则该信号就由内核保存起来,直到该进程恢复执行再传递个它;如果一个信号被进程设置为阻塞,则该信号的传递被延迟,直到其阻塞取消时才被传递给进程。信号的产生
1.用户在终端按下某些键时,终端驱动程序会发送信号...
分类:
系统相关 时间:
2015-08-03 14:33:19
阅读次数:
154
如果直接用ps命令,会显示所有进程的状态,通常结合grep命令查看某进程的状态。如果想对进程时间监控,应该用 top 工具。下面主要介绍下ps指令。linux进程状态在Linux中,进程存在5中状态运行状态(正在运行或在运行队列中等待)中断状态(休眠中, 受阻, 在等待某个条件的形成或接受到信号)不...
分类:
系统相关 时间:
2015-08-03 10:07:08
阅读次数:
228
管道是单向的、先进先出的,它把一个进程的输出和另一个进程的输入连接在一起。一个进程(写进程)在管道的尾部写入数据,另一个进程(读进程)从管道的头部读出数据。数据被一个进程读出后,将被从管道中删除,其他读进程将不能再读到这些数据。管道提供了简单的流控制机制,进程试图读空管道时,进程将阻塞。同样,管道已经满时,进程再试图向管道写入数据,进程将阻塞。
管道包括无名管道和有名管道两种,无名管道只能用于父进...
分类:
系统相关 时间:
2015-08-03 01:15:04
阅读次数:
157
如果直接用ps命令,会显示所有进程的状态,通常结合grep命令查看某进程的状态。如果想对进程时间监控,应该用 top 工具。下面主要介绍下ps指令。linux进程状态在Linux中,进程存在5中状态
运行状态(正在运行或在运行队列中等待)
中断状态(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
僵死状态(进程已终止, 但进程...
分类:
系统相关 时间:
2015-08-02 23:25:40
阅读次数:
313
目的:为什么进程间需要通信?
1、数据传输
一个进程需要将他的数据发送给另外一个进程。
2、资源共享
多进程之间共享同样的资源。
3、通知事件
一个进程需要向另一个或一组进程发送消息,通知他们发生了某种事件。
4、进程控制
有些进程希望完全控制另一个进程的执行(eg:debug进程),此时控制进程希望能够拦截另一个进程的所有操作,并能够及时知道他的状态改变。发展:
linux进程间...
分类:
系统相关 时间:
2015-08-01 10:02:30
阅读次数:
143
分析Linux内核创建一个新进程的过程进程描述
进程描述符(task_struct)用来描述进程的数据结构,可以理解为进程的属性。比如进程的状态、进程的标识(PID)等,都被封装在了进程描述符这个数据结构中,该数据结构被定义为task_struct
进程控制块(PCB)是操作系统核心中一种数据结构,主要表示进程状态。
进程状态fork()fork()在父、子进程各返回一次。在父进程中返回子进程的 p...
分类:
系统相关 时间:
2015-07-29 14:09:04
阅读次数:
245
资料来源:linux 进程监控 supervise Supervise是daemontools的一个工具,可以用来监控管理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程序。 使用: mkdir?test
cd?test
vim...
分类:
系统相关 时间:
2015-07-28 13:19:38
阅读次数:
175