加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

UNIX环境高级编程:进程管理和通信

发布时间:2016-09-27 18:52:05 所属栏目:Unix 来源:站长网
导读:副标题#e# 进程和程序的区别: 进程: 程序的一次执行过程 动态过程,进程的状态属性会发生变化 程序:存放在磁盘上的指令、数据的有序集合 是个文件,可直观看到 程序program 静态的概念,本身不会发生变化。指令谁来执行,数据谁来访问?cpu! 但前提是cpu

三种情况:

没有子进程或子进程都退出,立即返回-1

没有任何子进程结束,父进程会阻塞,直到有子进程退出。哪个先结束先回收哪个

有子进程结束,回收返回

wait/waitpid:   waitpid(-1, NULL,  0) == wait(NULL)

最低字节的含义:0表示正常结束;非0表示被信号结束,值为信号的类型

第二字节:正常结束:子进程的返回值;非正常结束:值为0

应用:用父子进程实现文件的复制,每个进程各拷贝一份。

需注意:没打开一个文件,内核空间创建一个struct file结构体,里面有个成员叫f_ops。

./multi_copy <src_file> <dst_file>

步骤如下:

检查参数的个数

打开源文件、目标文件(注意打开方式和权限)

创建子进程

子进程中:关源、目标文件, 重新打开后复制后半部分

父进程中:复制前半部分

linux守护进程(Daemon进程)

守护进程:是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。

守护进程的特点:

是后台服务进程,生存期较长的进程,通常独立于控制终端,周期性的执行某种任务或等待处理某些发生的事件。

系统启动时开始运行,在系统关闭时终止

进程查看

ps –axj

父进程ID : PPID

进程ID : PID(标识进程的唯一描述符)

进程组ID : PGID

会话期ID : SID

终端ID : TTY

终端进程组ID : TPGID

状态 : STAT

用户 : UID

运行时间 : TIME

指令: COMMAND 

守护进程的创建:

fork ()创建子进程,父进程退出。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读