Linux 进程环境&进程通信方式
huangan_xixi
这个作者很懒,什么都没留下…
展开
-
Linux 进程环境 ---- 守护进程
守护进程概念: Linux Daemon(守护进程)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个用户程序提供服务。Linux系统的大多数服务器就是通过守护进程实现的。常见的守护进程包括系统日志进程syslogd、 web服务器httpd、邮件服务器sendmail和...原创 2019-07-21 10:20:32 · 267 阅读 · 0 评论 -
Linux 进程环境 ---- 进程组、会话、前台进程组、后台进程组、终端控制
进程组与会话的相关概念: 进程组是一组相关关进程的集合,会话是一組相关进程组的集合。进程都有父进程,父进程也有父进程,这就形成了一个以ini进程为根的家族树。除此以外,进程还有其他乘次关系:进程、进程组、会话。进程组合会话在进程之前形成了两级的层次:进程组是一组相关进程的集合,会话是一组相关进程组的集合。 这样说来,一个进程会有如下ID: .PID:进程的唯一标识。对于多...原创 2019-07-21 10:29:16 · 1429 阅读 · 2 评论 -
Linux 进程间通信 ---- 管道
管道(pipe): 常说的管道(pipe)也叫匿名管道,管道的作用于有血缘关系的父子进程或者兄弟进程,通过fork来传递。调用pipe()函数时,会再内核开辟一块缓冲区(称为管道)用于通信,大小为64KB(手动测出来的,只写不读,最多能写65520字节),它有一个读端一个写端,然后通过fd参数传出给用户程序两个文件描述符,fd[0]指向读端,fd[1]指向写端。所以管道在用户程序看起来就像...原创 2019-07-21 10:31:44 · 166 阅读 · 0 评论 -
Linux 进程间通信 ---- 命名管道(FIFO文件/name pipe)
命名管道出现的背景: 命名管道(FIFO文件/name pipe),之前提到的管道,虽然能够实现进程间的通信,但是局限性也很明显。首先,这个管道只能在具有血缘关系的进程之间通信;第二,他只能实现一个进程写,一个进程读,而如果需要两者同时进行时,就得重新打开一个管道。 为了使任意两个进程之间能够通信,就提出了命名管道命名管道的特点: 1、与管道的区别:提供了一个路径名与...原创 2019-07-21 10:35:45 · 941 阅读 · 0 评论 -
Linux 进程间通信 ---- 共享内存
共享内存: 共享内存,顾名思义就是允许两个不相关的进程访问同一个逻辑内存,共享内存是两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常为同一段物理内存。进程可以将同一段物理内存连接到他们自己的地址空间中,所有的进程都可以访问共享内存中的地址。如果某个进程向共享内存写入数据,所做的改动将立即影响到可以访问同一段共享内存的任何其他进程。但是他不提供任何同步功能...原创 2019-07-21 10:38:21 · 229 阅读 · 0 评论 -
Linux 进程间通信 ---- 信号(signal)
本文转载至:https://www.cnblogs.com/hoys/archive/2012/08/19/2646377.html 【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理...转载 2019-07-30 21:12:02 · 968 阅读 · 0 评论 -
Linux 进程环境 ---- 僵尸进程、孤儿进程
僵尸进程产生的原因: 在UNIX系统中,一个进程结束了,但是他的父进程没有等待(调用wait/waitpid)他,那么他将变成一个僵尸进程。僵尸进程是一个早已死亡的进程,但在进程表(process table)中仍占一个位置。僵尸进程查看方式: 1、通过top命令查看zombie字段,能显示僵尸进程的个数 2、通过ps aux/-ef 参数查看僵尸进程的具体信息,带有...原创 2019-07-22 19:19:17 · 188 阅读 · 0 评论