随笔分类 -  linux进程与信号

linux IO系统编程(嵌入式开发) linux 网络编程 (嵌入式开发) linux 进程与信号 (嵌入式开发) linux 多线程编程 (嵌入式开发)
摘要:进程“慢”系统调用,如果发生了信号,内核会重启系统调用 慢系统调用: 可能会永远阻塞的系统调用 从终端设备,管道,或者网络设备上的文件读取 向上述文件写入 某些设备上的文件打开 pause和wait系统调用 一些设备ioctl操作 一些进程间通信函数 系统中断调用信号处理函数重新执行 用户函数调用, 阅读全文
posted @ 2016-09-12 23:17 jmst 阅读(355) 评论(0) 推荐(0)
摘要:linux信号不可靠问题: 1,系统层面信号是可靠的 2,用户层面信号是可靠的 将依赖于信号而执行的代码放在信号处理函数中执行,否则这些代码将不被执行 进程在处理过程中是否还可以接收处理信号,相同信号/不同信号 范列 编译执行 结论 用户层面信号可靠性 阅读全文
posted @ 2016-09-11 16:20 jmst 阅读(298) 评论(0) 推荐(0)
摘要:信号是软件中断 信号是异步事件 信号来源:内核产生,常用信号kill(),raise(),alarm(),settimer()等 进程处理信号: 忽略信号 SIGKILL和SIGSTOP永远不能被忽略 忽略硬件异常 进程启动时SIGUSER1和SIGUSER2两个信号被忽略 执行默认操作 每个信号都 阅读全文
posted @ 2016-09-05 23:36 jmst 阅读(351) 评论(0) 推荐(0)
摘要:进程组相关函数 阅读全文
posted @ 2016-09-05 22:28 jmst 阅读(534) 评论(0) 推荐(0)
摘要:进程状态: 阅读全文
posted @ 2016-09-02 00:12 jmst 阅读(170) 评论(0) 推荐(0)
摘要:exec函数: 子进程调用exec函数执行另一个程序,exec函数进程完全由新程序代替,替换原有程序正文,数据,堆,栈段 system函数 system函数源码 阅读全文
posted @ 2016-09-01 23:35 jmst 阅读(340) 评论(0) 推荐(0)
摘要:进程调用函数wait(),waitpid() status参数 为空时,代表任意状态结束的子进程,若不为空,则代表指定状态结束的子进程 检查wait和waitpid函数返回终止状态的宏 WIFEXITED/WEXITSTATUS(status) 若为正常终止子进程返回的状态,则为真 WIFSIGNA 阅读全文
posted @ 2016-09-01 00:09 jmst 阅读(248) 评论(0) 推荐(0)
摘要:孤儿进程:父进程被终结,子进程成为孤儿进程,被init进程接管 僵尸进程:子进程被终结,内存未被释放,形成僵尸进程 编译执行 避免僵尸进程方法: 1.父进程通过调用wait(),waitpid() 来回收 2,sigchld 信号处理 3,编程孤儿进程右init回收 阅读全文
posted @ 2016-08-31 22:51 jmst 阅读(177) 评论(0) 推荐(0)
摘要:终结父进程,子进程变孤儿进程,孤儿进程会被init进程领养 编译运行 阅读全文
posted @ 2016-08-31 00:45 jmst 阅读(206) 评论(0) 推荐(0)
摘要:#include <unistd.h>#include <stdlib.h> 编译执行 子进程扇式结构 编译运行 阅读全文
posted @ 2016-08-31 00:33 jmst 阅读(476) 评论(0) 推荐(0)
摘要:进程创建 进程实例 运行结果 子进程继承 只有正文段共享物理内存 静态变量,全局变量存储于正文段,局部变量存储于栈中 原生文件IO统函数与C库文件IO函数区别 阅读全文
posted @ 2016-08-28 23:07 jmst 阅读(280) 评论(0) 推荐(0)
摘要:进程状态查看 进程调度策略 task_struct中的调度信息 策略 轮流策略 先进先出策略 优先权 JIFFIES变量 实时优先权 实时进程之间 计数器 进程函数 阅读全文
posted @ 2016-08-28 21:47 jmst 阅读(258) 评论(0) 推荐(0)
摘要:进程资源函数 获取系统资源参数 结果 linux系统资源限制配置 阅读全文
posted @ 2016-08-28 18:32 jmst 阅读(566) 评论(0) 推荐(0)
摘要:进程启动前启动例程:初始化环境表 获取环境表信息 编译执行 环境变量操作函数 例 阅读全文
posted @ 2016-08-27 18:23 jmst 阅读(384) 评论(0) 推荐(0)
摘要:C程序启动过程 内核启动特殊例程 启动例程 在进程的main函数执行前会启动 该例程放在在/lib/libc.so**中 编译器在编译时会启动例程编译进可执行文件中 启动例程作用 搜索命令行参数传递给main函数中的argc、argv 搜索环境信息构建环境表并传递给main函数 等级进程终止函数 进 阅读全文
posted @ 2016-08-27 11:20 jmst 阅读(1197) 评论(0) 推荐(0)
摘要:认识进程 进程在内核中的结构 内核进程task_struct通过file_struct 操作文件 linux内核源码task_struct 阅读全文
posted @ 2016-08-27 10:21 jmst 阅读(250) 评论(0) 推荐(0)