bash 环境变量 本地变量(局部变量)当前shell进程 环境变量 当前shell进程 及其子进程 位置变量:$1,$2,shift 轮替(eg:echo $1 shift2 echo$1) 特殊变量:$?:退出状态码 $#:参数的个数 $*:参数列表 $@:参数列表 exit:退出脚本exi.....
分类:
系统相关 时间:
2015-07-12 21:35:20
阅读次数:
150
1.实现有亲缘关系(父子)的进程通信,完成父写子读的操作。
思路分析:1)首先我们需要创建一个共享内存。
2)父子进程的创建要用到fork函数。fork函数创建后,两个进程分别独立的运行。
3)父进程完成写的内容。同时要保证子进程退出后,在删除共享内存。
4)子进程完成读的内容。
效果展示:...
分类:
系统相关 时间:
2015-07-12 17:28:45
阅读次数:
235
本节我们接着介绍另外的几种TCP客户-服务器程序;
第四种:TCP并发服务器,每个客户一个子线程
在我们前面的并发服务器程序例子中可以看出:父进程接受连接,派生子进程,子进程处理与客户的交互。
这种模式的问题:
fork()是昂贵的。内存映像要从父进程拷贝到子进程,所有描述字要在子进程中复制等等。
fork()子进程后,需要用进程间通信在父子进程之间传递信息。
一个进程中的所有线程共享...
分类:
其他好文 时间:
2015-07-12 11:22:11
阅读次数:
140
第五种 TCP预先派生子进程服务器程序:
对预先派生子进程服务器的最后一种改动就是由父进程调用accept,然后再将所接受的已连接描述字传递给子进程。父进程必须跟踪子进程的忙闲状态,以便给空闲子进程传递新的描述字。为每个子进程维护一个信息结构,用来管理各子进程。
在调用fork之前,先创建一个字节流管道(Unix域的字节流套接口),它是Unix域的字节流套接口。当子进程派生后...
分类:
其他好文 时间:
2015-07-12 11:21:54
阅读次数:
127
13.5 父进程和子进程
在接下来的对pipe调用的研究中,将学习如何在子进程中运行一个与父进程完全不同的另外一个程序,而不是仅仅运行一个相同程序.使用exec调用来完成这一项工作.这里的一个难点是,通过exec调用的进程需要知道应该访问哪个文件描述符.在前面的例子中,因为子进程本身有file_pipes数据的一份副本(点击打开"fork复制进程映像"链接),所以这并不成为问题.但经过ex...
分类:
系统相关 时间:
2015-07-12 09:41:58
阅读次数:
169
使用Runtime对象的exec()方法可以获得其他进程的Process对象,Process对象代表由该Java程序启动的子进程,Process类提供了如下3个方法,用于让程序和其子进程进行通讯。
InputStream getErrorStream():获取子进程的错误流
InputStream getInputStream():获取子进程的输入流
OutputStream g...
分类:
编程语言 时间:
2015-07-10 15:25:30
阅读次数:
145
在这里总结一下查找Linux、Java环境下最耗CPU性能的代码段的方法。基本上原理就是使用top命令查看最耗cpu的进程和线程(子进程)。使用jstack把java线程堆栈给dump下来。然后,在堆栈信息中查找出对应的代码块。具体操作如下:一、查找最耗cpu的进程执行:top输出: PID...
分类:
编程语言 时间:
2015-07-10 10:59:34
阅读次数:
147
apache,Apache优化阅读:2516次时间:2011-01-04 12:07:30 字体:[大中小]Apache2.0中prefork.c模块和worker.c模块空闲子进程:是指没有正在处理请求的子进程。1、prefork.c模块(一个非线程型的、预派生的MPM)prefork MPM 使...
分类:
Web程序 时间:
2015-07-10 09:24:15
阅读次数:
139
1、C#工程中调用外部应用程序,可能会导致死锁,如下面情况:
C#工程调用外部程序,标准输出流被重定向,而Process.StandardOutput的缓冲大小是有限制的(据说是4k),所以当缓冲满了的时候,子进程(a.exe)会等待主进程(C# App)读取并释放此缓冲,而主进程由于调用了WaitForExit()方法,则会一进等待子进程退出,最后形成死锁。
...
分类:
其他好文 时间:
2015-07-08 16:39:37
阅读次数:
124
创建进程:Linux创建两个步骤的新处理:fork()和exec().其中fork创建当前进程的能力(父进程)副本,那个孩子。父子进程只有PID不同。在这之后,该系统具有两个进程,运行相同的操作。父进程的内容将被复制。可是在Linux中运用了一种写时复写(copy on write)技术。使进程的创...
分类:
系统相关 时间:
2015-07-08 12:52:02
阅读次数:
156