Re: [問題] 訊息駐列的問題
※ 引述《jokker (微雨從東來)》之銘言:
: Hi, 大家
: 我現在在看IPC ,遇到一個問題
: 程式如下
: #include <stdio.h>
: #include <mqueue.h>
: #include <sys/stat.h>
: #include <unistd.h>
: int main(int argc, char** argv){
: int c, flags;
: mqd_t mqd;
: mqd = mq_open(argv[1], O_RDONLY|O_CREAT);
: if( mqd == -1 )
: fprintf(stderr,"open fail.\n");
: mq_close(mqd);
: exit(1);
: }
: 編譯過程如下
: #> gcc -lrt mqtest.c
: 執行結果如下
: #>./a.out /tmp/hello
: open fail.
: 在網路上找到很多人發問類似問題, 但是沒有確定解答
: 請問有誰知道為什麼嗎 ??
1. With O_CREAT, mode and attr argument are required
ex.
#define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
#define FILE_FLAG (O_CREAT | O_EXCL | O_RDWR)
mq_open(argv[1], FILE_FLAG, FILE_MODE, NULL);
2. The opened queue has to start with the format "/queue_name"
ex.
#>./a.out /hello
3. refernce:
UNIX NETWORK PROGRAMMING Volume 2, 2nd Edition
BR.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.70.77.219
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章