设为首页 加入收藏

TOP

多进程编程(二十二)
2012-08-26 13:53:26 】 浏览:22939
Tags:进程 编程
等于分段值的增加量.新分配的空
             间设置为0.若相同的内存空间重新分配给同一个进程,则空间的
             内容不确定.
        返回值:若成功调用则返回值为0,否则返回-1.
        例子:本例将包括上述共享数据空间操作的所有系统调用:
             char * area1;
             char buf[21];
             int v;
             /*取得或创建一个共享数据空间(系统特殊文件),名字为
               /tmp/area1,长度为640,用户访问权限为0777*/
             area1=sdget("/tmp/area1",SD_WRITE|SD_CREAT,640,0777);
             if ((int)area1==-1) {
                 printf("get share data segment area1 failed\n");
                 exit(1);
             }
             /*取得共享数据段area1的版本号*/
             v=sdgetv(area1);
             /*申请访问共享数据段area1,若已有进程在访问该段则本进程挂
              *起,否则进入访问并将该数据段加写锁*/
             sdenter(area1,SD_WRITE);
             /*对共享数据段访问,写10个a*/
             strcpy(area1,"aaaaaaaaaa");
             /*申请解除访问权限,若已有进程申请访问则激活该进程*/
             sdleave(area1);
             /*进程处理过程*/
             /*等待取共享数据段area1的版本号*/
             sdwaitv(area1,v);
             /*重新申请访问共享数据段area1*/
             sdenter(area1,SD_WRITE);
             /*读取共享数据段中的数据*/
             memcpy(buf,area1,20);
             /*申请解除访问权限,若已有进程申请访问则激活该进程*/
             sdleave(area1);
             printf("the data now in area1 is [%s]\n",buf);
    31.getenv()
        功能:取得指定环境变量值.
        语法:#include <unistd.h>
             #include <stdlib.h.
             char *getenv(name)
             char *name;
        说明:本系统调用检查环境字符串(格式如name=value),并在找到有指
             定名字的环境值后,返回指向value字符串的指针.否则返回空指
             针.
        返回值:如前述.
        例子:char * value;
             value=getenv("HOME");
             printf("HOME = [%s]\n",value);
             /*将打印出HOME环境变量的值*/
    32.putenv()
        功能:修改或增加环境值.
        语法:#include <stdlib.h>
             int putenv(string)
 
首页 上一页 19 20 21 22 23 24 25 下一页 尾页 22/25/25
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Core Dump?! 下一篇字符串转换篇

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目