摘要: 一、信号:信号主要用来通知进程异步事件的发生。可以使用“kill -l ”命令来显示系统中的信号。进程可以忽略大部分信号,但是有两个是不能忽略的: (1)SIGSTOP:这个信号将中断进程的执行。 (2)SIGKILL:这个信号将强制进程退出。 Linux使用了堆栈来管理要执行的信号处理程序,这样当一个信号处理程序完成操作时,下一个将被调用,依次下去。 当进程收到信号后,怎么处理这个信号多半是由收到信号的那个进程自行决定,除非收到的信号是SIGKILL之类只能采取默认行动的信号。Linux处理信号主要有下面4种方式:(1)采用系统默认的处理方式。一般而言,进程对信号的默认处理方式都是终止运行。 阅读全文
posted @ 2013-08-04 14:23 wangle100 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 一、消息队列是一条由消息连接而成的链表,它保存在内核中,通过消息队列的引用标示符来访问。二、消息队列不同于管道,通信的两个进程可以是完全无关的进程,它们之间不需要约定同步的方法。只要消息队列存在并且有存放消息的空间,发送进程就可以向消息队列中存放消息,并且可以在接收进程开始之前终止其执行。但是使用管道通信的进程,无论是匿名管道还是有名管道,通信的两个进程都必须是正在运行的进程。这一点是消息队列的优点。三、编写两个程序,第一个是从消息队列中接收消息,第二个程序则发送消息。每一个消息是用户输入的任意字符串,字符串“end”表示输入结束。1 msqRcv.c:/* * msqRcv.c * * C. 阅读全文
posted @ 2013-08-04 13:00 wangle100 阅读(393) 评论(0) 推荐(0) 编辑