Linux程序设计--进程与信号
来源:互联网 发布:淘宝客户运营平台在哪 编辑:程序博客网 时间:2024/06/04 18:57
进程的结构、类型和调度
可以把进程看做是正在运行的程序。
进程结构:进程标识符、文件描述符、栈空间和环境变量(程序计数器)
操作系统通过进程的PID对它们进行管理,PID是进程表的索引。Linux调度器根据进程的优先级来决定调用哪个进程。
用不同的方法启动新进程
system函数作用:运行以字符串参数的形式传递给它的命令并等待命令的完成。它很有用,但是也有局限性,程序必须等待由system函数启动的进程结束之后才能继续,因此我们不能立刻执行其它任务。
exec函数比system函数更有效,因为在新的程序启动后,原来的程序就不再运行了。exec启动的新进程继承了原来进程的许多特性,新进程的PID、PPID与原来的一样。
父进程、子进程和僵尸进程
让进程同时执行多个函数,可以通过fork创建一个新进程,新进程与原进程一模一样,执行代码也完全相同,但新进程有自己的数据空间、环境和文件描述符。父进程中的fork调用返回的是新的子进程的PID,而子进程中的fork调用返回的是0
函数通过fork创建的子进程终止时,它与父进程之间的关联还会继续保持,直到父进程也正常终止或父进程调用wait才可结束,因此,进程表中代表子进程的表项不会立刻释放,虽然子进程不再运行,但是它仍存在于系统中,这个时候它就是一个死进程或僵尸进程(zombie),如果父进程异常终止,那么子进程会自动把PID为1的进程(init)作为自己的父进程,并一直保存在进程表中,直到被init发现并释放。
什么是信号以及如何使用它们
信号是UNIX和linux系统响应某些条件而产生的某一个事件。
信号可以被生成、捕获、响应和忽略。
sig:准备捕获或忽略的信号
func:接收到指定信号后将要调用的函数
- Linux程序设计--进程与信号
- Linux程序设计--进程和信号
- linux程序设计:进程和信号
- Linux程序设计--进程和信号
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - 安装信号与捕捉信号
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - 信号集与屏蔽信号
- Linux 进程与信号
- linux程序设计笔记11:进程和信号
- Linux程序设计——进程和信号
- 《Linux程序设计》——进程和信号
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - Linux常见信号及处理
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - 等待信号
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - 信号应用实例
- Linux进程控制与程序设计
- 《Linux程序设计》学习笔记11——进程和信号
- Linux程序设计笔记(第11章 进程和信号)
- 《Linux程序设计》学习笔记11——进程和信号
- linux程序设计——进程和信号(第十一章)
- 代理模式及Java实现动态代理
- rosbridge小结
- 实训笔记第十天
- zepto源码之event.js
- 热修复框架Tinker最完整讲解(03)——使用Tinker常见问题
- Linux程序设计--进程与信号
- EffictiveJava学习笔记--创建和销毁对象
- [Linux C语言](学习笔记)标准输入流输出流以及错误流的重定向机制(2)
- K进制下的大数 字符串取模
- JDBC之调用存储过程
- 用c语言实现继承和多态
- 自定义控件之TagGroup
- kubernetes安全测试
- Vue.js的认知