上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 100 下一页

2013年7月7日

UNIX环境高级编程——进程间通信概念

摘要: 进程间通信 --- IPC1. 进程间通信的目的a. 数据传输: 一个进程需要将他的数据发送给另一个进程b. 资源共享: 多个进程之间共享同样的资源c. 通知事件: 一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事件。d. 进程控制: 有些进程希望完全控制另一个进程的执行(如debug... 阅读全文

posted @ 2013-07-07 14:46 胡永光 阅读(91) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——守护进程

摘要: 一、守护进程简介守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。Linux系统有很多守护进程,大多数服务都是通过守护进程实现的,... 阅读全文

posted @ 2013-07-07 14:43 胡永光 阅读(139) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——信号

摘要: 一、信号生命周期 从信号发送到信号处理函数的执行完毕。 对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画:信号诞生;信号在进程中注册完毕;信号在进程中的注销完毕;信号处理函数执行完毕。相邻两个事件的时间间隔... 阅读全文

posted @ 2013-07-07 13:25 胡永光 阅读(132) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——sigqueue、sigsuspend函数

摘要: 一、sigqueue函数功能:新的发送信号系统调用,主要是针对实时信号提出的支持信号带有参数,与函数sigaction()配合使用。int sigqueue(pid_t pid, int sig, const union sigval value);参数: sigqueue的第一个参数是指... 阅读全文

posted @ 2013-07-07 10:55 胡永光 阅读(207) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——可靠信号与不可靠信号

摘要: 在早期的UNIX中信号是不可靠的,不可靠在这里指的是:信号可能丢失,一个信号发生了,但进程却可能一直不知道这一点。 现在Linux 在SIGRTMIN实时信号之前的都叫不可靠信号,这里的不可靠主要是不支持信号队列,就是当多个信号发生在进程中的时候(收到信号的速度超过进程处理的... 阅读全文

posted @ 2013-07-07 09:33 胡永光 阅读(161) 评论(0) 推荐(0) 编辑

2013年7月6日

UNIX环境高级编程——信号(API)

摘要: 一、信号在内核中的表示 实际执行信号的处理动作称为信号递达(Delivery),信号从产生到递达之间的状态,称为信号未决(Pending)。进程可以选择阻塞(Block)某个信号。被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作。注意,阻塞和忽略是不同的,只要... 阅读全文

posted @ 2013-07-06 21:56 胡永光 阅读(162) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——信号之kill、raise、killpg、alarm、pause、abort、sleep、usleep、nanosleep和setitimer函数

摘要: 一、kill, raise, killpg 函数int kill(pid_t pid, int sig);int raise(int sig);int killpg(int pgrp, int sig);kill命令是调用kill函数实现的,kill函数可以给一个指定的进程或进程组发送指定的信号,... 阅读全文

posted @ 2013-07-06 17:42 胡永光 阅读(288) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——信号基本概述和signal函数

摘要: 一、为了理解信号,先从我们最熟悉的场景说起:1. 用户输入命令,在Shell下启动一个前台进程。2. 用户按下Ctrl-C,这个键盘输入产生一个硬件中断。3. 如果CPU当前正在执行这个进程的代码,则该进程的用户空间代码暂停执行,CPU从用户态切换到内核态处理硬件中断。4. 终端驱动程序将Ctrl... 阅读全文

posted @ 2013-07-06 16:13 胡永光 阅读(156) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——进程关系

摘要: 一、终端的概念在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal),控制终端是保存在PCB中的信息,而我们知道fork会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端也是这个终端。默认情况... 阅读全文

posted @ 2013-07-06 15:54 胡永光 阅读(125) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——system函数

摘要: system函数功能:调用fork产生子进程,由子进程来调用;/bin/sh -c command来执行参数command所代表的命令,阻塞当前进程直到command命令执行完毕。int system(const char *command);因为system在其实现中调用了fork、exec和w... 阅读全文

posted @ 2013-07-06 15:19 胡永光 阅读(194) 评论(0) 推荐(0) 编辑

上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 100 下一页

导航