使用共享内存同时运行2个程序

时间:2014-02-16 23:57:40

标签: c parallel-processing shared-memory

我有一个main函数,它有一个我试图添加到共享内存的int数组。然后我尝试同时运行2个排序程序来排序数组。以下是我到目前为止所遇到的问题:

int sId;
int *arr,*s;
pid_t pid1, pid2;
key_t key;
size = 100; 
key = 1047;
arr = (int*)malloc(sizeof(int)*size);
sgmtId = shmget(key, size, IPC_CREAT | 0666)

arr = shmat(sId, NULL, 0);
s = arr;
for (i=0; i < 100; i++) {
    s[i] = i;
}

if ((pid1 = fork()) == 0) {
   /* Not sure how to run sort.c */
}
if ((pid2 = fork()) == 0) {
   /* Run sort.c a second time */
}
.
.

如何将两个进程的指向共享内存数组的指针传递给sort.c?

0 个答案:

没有答案