S
simonwiese
Grünschnabel
Hallo zusammen!
Ich will mithilfe von System V IPC einen shared Memory Bereich anlegen. Leider bekomme ich immer ein "Permission denied" wenn ich den Prozess als normalen Benutzer laufen lassen will.
Das Programm sieht im Grunde genommen wie folgt aus:
Problem ist das shmat(...) immer ein "Permission denied" wirft (außer man ist superuser..). Ich habs schon mit verschiedenen Flags versucht und auch schon bei google danach gesucht find aber keine Lösung.
Weiß einer von euch wo mein Fehler ist oder warum ich nicht ausreichend rechte haben soll??
Danke im Voraus!
Simon
PS: Meine Quellen:
https://www-rz.uni-hohenheim.de/betriebssysteme/unix/books/galileocomputing_unix_guru/node393.html
http://www.informatik.uni-osnabrueck.de/um/95/95.3/bischof_ipc/bischof_ipc.html
Ich will mithilfe von System V IPC einen shared Memory Bereich anlegen. Leider bekomme ich immer ein "Permission denied" wenn ich den Prozess als normalen Benutzer laufen lassen will.
Das Programm sieht im Grunde genommen wie folgt aus:
Code:
#include <iostream>
using namespace std;
#include <errno.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
int main() {
//generate magic key
key_t key = ftok("/tmp", 434);
cerr<<"Key: "<<(int)key<<endl;
int shID=shmget(key, sizeof(double)*6, IPC_CREAT | IPC_EXCL);
if (shID < 0) {
cerr<<"Couldn't get shmID: "<<strerror(errno)<<endl;
} else {
cerr<<"shID: "<<shID<<endl;
double *shm_angles= (double *)shmat(shID, NULL, SHM_R | SHM_W);
if (shm_angles == (double *)-1) {
cerr<<"Couldn't attach shared memory: "<<strerror(errno)<<endl;
}
shmctl(shID, IPC_RMID, 0);
}
return 0;
}
Ausgabe sieht dann zB mal so aus:
Key: 738287937
shID: 360449
Couldn't attach shared memory: Permission denied
Problem ist das shmat(...) immer ein "Permission denied" wirft (außer man ist superuser..). Ich habs schon mit verschiedenen Flags versucht und auch schon bei google danach gesucht find aber keine Lösung.
Weiß einer von euch wo mein Fehler ist oder warum ich nicht ausreichend rechte haben soll??
Danke im Voraus!
Simon
PS: Meine Quellen:
https://www-rz.uni-hohenheim.de/betriebssysteme/unix/books/galileocomputing_unix_guru/node393.html
http://www.informatik.uni-osnabrueck.de/um/95/95.3/bischof_ipc/bischof_ipc.html