While I was reading about System V IPC, I found that they can not be used between process across machines. Why is that so?
Is there any way to use them across machines?
While I was reading about System V IPC, I found that they can not
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
They are local in-kernel IPC primitives. I don’t see how they can be networked.
SysV IPC doesn’t really give you anything revolutionary except a set of synchronization and communication primitives which are reliable and provided by the kernel (so you don’t need third party dependencies). They are also easily usable my multiple processes which are independently spawned..
I think the next question would be: Which (SysV) IPC primitives do you wish to use over a network?
For normal messaging there are third party solutions like zeromq and others. For distributed lock management and semaphores, things get a bit more complicated (writing a DLM isn’t easy) – you can get away by using filesystems, using a distributed database which supports locking, OpenMPI (if that’s your thing), etc.
There’s no easy solution for this unfortunately (and if someone can share their success stories, I’ll be glad to hear too).