Questions tagged [ipc]

IPC stands for Inter-process Communication and represents a set of methods for exchanging data and messages between threads and processes.

In computing, Inter-process communication (IPC) is a set of methods for the exchange of data among multiple threads in one or more processes. Processes may be running on one or more computers connected by a network. IPC methods are divided into methods for:

  • message passing
  • synchronization
  • shared memory, and
  • remote procedure calls (RPC).

The method of IPC used may vary based on the bandwidth and latency of communication between the threads, and the type of data being communicated.

There are several reasons for providing an environment that allows process cooperation:

  • Information sharing
  • Speedup
  • Modularity
  • Convenience
  • Privilege separation

IPC may also be referred to as inter-thread communication and inter-application communication.

The combination of IPC with the address space concept is the foundation for address space independence/isolation.

4538 questions
2
votes
2 answers

Best way to communicate between node.js and java on the same host

We have a node.js processes that are forking other node.js processes via child_process.fork - on the same host. Communication between child and parent is done over child.send(message). Now we want the master process to start not only node.js but…
Renat
  • 263
  • 3
  • 13
2
votes
0 answers

Send callback functions through IPC from forked child_process in nodejs

I'm using child_process to fork some work on a system. I have to send some data from the child to the "father" and I'm doing it like this: process.send({ message: "some_stuff", some : stuff, cb: cb }); Where cb is a defined callback. On…
Masiar
  • 20,450
  • 31
  • 97
  • 140
2
votes
2 answers

Allow for modular development while still running in same JVM?

Our current app runs in a single JVM. We are now splitting up the app into separate logical services where each service runs in its own JVM. The split is being done to allow a single service to be modified and deployed without impacting the entire…
Marcus Leon
  • 55,199
  • 118
  • 297
  • 429
2
votes
2 answers

making a synchronous calls for other applications

I need to call from my code for some other program . And I need to wait till it finishes (synchronous call). How I can do so ? Thanks, a lot.
Night Walker
  • 20,638
  • 52
  • 151
  • 228
2
votes
1 answer

Easiest way to transfer data between 2 C programs?

In ANSI C on Windows what is the best/easiest way to transfer data between two programs running locally without needing to write/read from a file? Data will be basic text and only one program will be sending and the other receiving. Thanks.
Shawn
  • 2,356
  • 6
  • 48
  • 82
2
votes
6 answers

yarn hadoop 2.4.0: info message: ipc.Client Retrying connect to server

i've searched for two days for a solution. but nothing worked. First, i'm new to the whole hadoop/yarn/hdfs topic and want to configure a small cluster. the message above doesn't show up everytime i run an example from the…
motte1988
  • 21
  • 2
  • 3
2
votes
2 answers

When forking, is the 'else' block necessary?

if (pid==0) { //child } else { //parent ... } Why is the 'else' part necessary? isn't it implied that we are in the parent ?
user3687001
  • 335
  • 1
  • 3
  • 12
2
votes
2 answers

Maximum limit on size of data in IPC using sockets in unix

I am using AF_UNIX,SOCK_STREAM socket for IPC between 2 different processes. The client is sending data over the socket which the server picks up and processes. The size of each block of data that the client writes to the socket is roughly 13…
anshu
  • 665
  • 4
  • 9
  • 22
2
votes
1 answer

Why does my socket connection between two python scripts break if one of them is launched with Popen?

So I have two very simple python scripts that communicate over a socket. Right now they are both running on the same windows PC. Here's controller.py: import socket import time import sys from subprocess import Popen, CREATE_NEW_CONSOLE HOST =…
Noah
  • 495
  • 2
  • 7
  • 21
2
votes
3 answers

Service and program interaction

I am developing a very basic windows service in C#. Apart from the service I also need to develop a program which will be used to set various parameters for the service. As the service and program will be running in different processed by different…
Giorgi
  • 30,270
  • 13
  • 89
  • 125
2
votes
1 answer

shmget previously created memory segment fails

I'm trying to learn the IPC UNIX APIs, specifically shared memory. I have created this small program that tries to either access the shared memory segment or create one. This is what I do: gcc -Wall -Wextra *.c # in one terminal ./a.out # in…
conradkleinespel
  • 6,560
  • 10
  • 51
  • 87
2
votes
2 answers

SIGABRT handler. Do some cleanup before crash

I have added a sighandler for SIGABRT signal. The default behavior of abort() is to generate a core-dump. I would like to do the same in signal handler but before crashing, execute cleanup code. I have tried as below and I know that below piece of…
Ram
  • 1,153
  • 4
  • 16
  • 34
2
votes
2 answers

Sending zeroMQ messages to/from localhost - secure?

I am trying to use zeroMQ for communicating between 2 processes. The message contains instructions from one process for the second to execute, so that from a security perspective it is quite important that only the proper messages are sent and…
mathmonkey
  • 335
  • 4
  • 15
2
votes
1 answer

Passing Task via IPC

I have an IPC communication between service and WinForm app. They intercommunicate with the help of the class, which utilizes the following interface: public interface IBaseIPC { Task GetConfig(); Task
KorsaR
  • 536
  • 1
  • 10
  • 26
2
votes
0 answers

Should I use WCF duplex or create two channels manually in local IPC?

I am developing an application that is consisted of two separate processes (.exe files). ProcessA and ProcessB need to communicate in bidirectional fashion. Two illustrate the kind of communication these two processes do I will simply my feature…
matori82
  • 3,669
  • 9
  • 42
  • 64