设为首页 加入收藏

TOP

多进程编程(二)
2012-08-26 13:53:26 】 浏览:22876
Tags:进程 编程
, 如优先级和任何其他的进程预定参数, 根据种类不同
               决定是否可以继承.
             . 还有一些其它属性.
             但子进程也有与父进程不同的属性:
             . 进程号, 子进程号不同与任何一个活动的进程组号.
             . 父进程号.
             . 子进程继承父进程的文件描述符或流时, 具有自己的一个拷贝
               并且与父进程和其它子进程共享该资源.
             . 子进程的用户时间和系统时间被初始化为0.
             . 子进程的超时时钟设置为0.
             . 子进程的信号处理函数指针组置为空.
             . 子进程不继承父进程的记录锁.
        返回值: 调用成功则对子进程返回0, 对父进程返回子进程号, 这也是
             最方便的区分父子进程的方法. 若调用失败则返回-1给父进程,
             子进程不生成.
        例子:pid_t pid;
             if ((pid=fork())>0) {
                 /*父进程处理过程*/
             }
             else if (pid==0) {
                 /*子进程处理过程*/
                 exit(0);     /*注意子进程必须用exit()退出运行*/
             }
             else {
                 printf("fork error\n");
                 exit(0);
             }
    2.system()
        功能:产生一个新的进程, 子进程执行指定的命令.
        语法:#include <stdio.h>
             #include <stdlib.h>
             int system(string)
             char *string;
        说明:本调用将参数string传递给一个命令解释器(一般为sh)执行, 即
             string被解释为一条命令, 由sh执行该命令.若参数string为一
             个空指针则为检查命令解释器是否存在.
             该命令可以同命令行命令相同形式, 但由于命令做为一个参数放
             在系统调用中, 应注意编译时对特殊意义字符的处理. 命令的查
             找是按PATH环境变量的定义的. 命令所生成的后果一般不会对父
             进程造成影响.
        返回值:当参数为空指针时, 只有当命令解释器有效时返回值为非零.
             若参数不为空指针, 返回值为该命令的返回状态(同waitpid())
             的返回值. 命令无效或语法错误则返回非零值,所执行的命令被
             终止. 其他情况则返回-1.
        例子:char command[81];
             int i;
             for (i=1;i<8;i++) {
                 sprintf(command,"ps -t tty%02i",i);
                 system(command);
             }
    3.exec()
        功能:执行一个文件
        语法:#include
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 2/25/25
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Core Dump?! 下一篇字符串转换篇

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目