ftok函数的使用

查看当前系统中所有创建的IPC对象

1、ipcs     查看当前系统中所有创建的IPC对象
2、ipcs -q	查看创建的消息队列
3、ipcs -m	查看创建的共享内存段
4、ipcs -s	查看创建的信号量数组 

5、ipcrm 	删除IPC对象
	例如:ipcrm -q msqid  删除标号为msqid的消息队列 

SYstem V提供的IPC通信机制需要一个key值,通过key值就可在系统内获得一个唯一的消息队列标识符。
key值可以是人为指定的,也可以通过ftok函数获得。
如果多个进程想通过IPC对象通信,则必须找到唯一的标识,而唯一的标识是由key决定的,所以只要key知道,则就可以实现多个进程通信。

ftok函数

#include<sys/types.h>
#include<sys/ipc.h>
key_t ftok(const char *pathname,int proj_id);

功能:
**pathname:**任意一个文件名(文件名或者目录名)
**proj_id:**目标值,范围一般是0~127

返回值:
成功:键值
失败:返回 -1

案例代码:

#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/ipc.h>
int main()
{
        key_t mykey;
        if(mykey = ftok(".",10) == -1)
        {
                perror("fail to ftok");
                exit(1);
        }

        printf("key = %#x\n",mykey);

        return 0;
}

执行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值