创建进程

      exec 函数族,用被执行的程序完全替换了调用进程的映象,被执行进程PID不会改变.
      exec()函数族包含这样一些成员:execl()、execle()、execlpe()、execv()、execve()和execvpe()。下面列出了这中的e,l,p和v等后缀的含义:
    e    明确地把一个指向环境参数的指针数组传递给子进程
    l    把命令参数上传递给要执行的程序
    p    通过环境变量PATH找到要执行的函数
    v    把命令行参数以一个指针数组的形式传递给要执行的程序

      用spawn函数同样可以完成上例所做的工作。spwan()函数族包括这样一些成员:spawnl()、spawnle()、spawnlp()、spawnlpe()、spawnv()、spawnve()、spawnvp()和spawn()函数。这些函数名中的e,l,p,和v等后缀的含义与exec()函数族函数名中的相同。实际上,spawn()函数族与exec()函数族基本相同,只不过有一点小小的差别----spawn()函数既可以在结束原来的程序后启动另一个程序,也可以启动另一个程序并在该程序结束后返回到原来的程序中。spawn()函数的参数与exec()函数的基本相同,只不过需要增加一个参数----你必须用_P_OVERLAY(结束原来的程序)或_P_WAIT(结束后返回到原来的程序)作为spawn()函数的第一个参数。下例用spawn()函数完成了与前面的例子相同的工作:
      使用system()函数。system()函数与前面讲的函数相似但也有不同的地方。除了挂起(而不是结束)当前程序去执行新的程序.

posted @ 2007-04-23 18:27  曹立松  阅读(598)  评论(0编辑  收藏  举报