随笔分类 -  unix编程

摘要:Unix高级环境编程的简单总结:1 使用pipe生成管道p[2],然后fork出child进程,p[0]是读端,p[1]是写端。这样的话,child和parent一个读--->一个写,就可以进行通信了。2 使用popen打开一个管道,它做的动作是:fork出一个child的stdin或者stdout和返回的描述字连接起来。3 协同进程---比较冷门,shell的管道就是这么做的。将一个进程的stdin和另一个进程的stdout连接起来等等类似的。4 使用msgget,msgsnd,msgrcv创建消息队列,发送消息,接收消息。但是现在的linux上要比管道慢。5 使用mkfifo创建命名 阅读全文
posted @ 2012-06-04 21:24 Jack204 阅读(647) 评论(0) 推荐(0)
摘要:jobs,fg和bg是控制进程(任务)执行的命令。jobs显示在当前shell环境下任务的状态:正在后台运行的任务,已经终止,以及被停止 (stopped)的任务。键入Control-Z,当前控制终端的前台任务会收到STOP信号从而被停止。可以使用bg命令把它放在后台继续运行。fg 命令会把后台运行的任务或被停止的任务在前台继续运行。后台任务可能因为这些信号SIGTSTP, SIGSTOP, SIGTTIN和SIGTTOU处于被停止状态。 当一个后台进程组的一个成员试图去读它的控制终端时,这个进程组会收到SIGTTIN信号。同样,当它试 图写控制终端时,SIGTTOU信号会发出。(为何有时候消 阅读全文
posted @ 2012-06-02 10:55 Jack204 阅读(2454) 评论(0) 推荐(0)