Questions tagged [ipc]

Inter Process Communication usually refers to kernel services that allow processes on the same machine to communicate with each other.

Filter by
Sorted by
Tagged with
0 votes
1 answer
40 views

How to trace on continuously running process?

So I wanted to know how files are opened by zsh like .xinitrc, .xprofile, .zprofile, and exactly in which order. So I have decided to strace on zsh process with the grep command to see how the open ...
  • 35
0 votes
1 answer
27 views

How does local socket IPC work on a multi CPU system?

There is the Supermicro X10DAi motherboard and the manual is here. On page 1-11 you can see that each CPU has it's own RAM. Let's say program A is offering an API through a local socket /var/run/...
  • 779
0 votes
1 answer
60 views

How to adjust the output of dbus-monitor?

I'm building a microservices application using the GNU tools and bash and I decided to use dbus-monitor and dbus-send for IPC between services. The problem is that it's hard to make use of the ...
0 votes
1 answer
60 views

What IPC is used between an application and a library in Linux?

When you have a Linux application that depends on a library (dynamically-linked), how does the application communicate with the library? What inter-process communication method is used?
0 votes
1 answer
84 views

Is it possible to listen to a signal for when a systemd service has crashed/restarted?

This is a bit of a newbie question on systemd services, but let's say we have two systemd daemons, and for one of them its important to know whether the other one has crashed or restarted. Is it ...
1 vote
1 answer
1k views

How to list all object paths under a dbus service only usign dbus command-line utility?

How can I list the object path under a dbus services using ONLY dbus-send command line utility? For now, I can only list services: dbus-send --system --dest=org.freedesktop.DBus --type=method_call --...
  • 11
2 votes
1 answer
510 views

bash IPC using named pipes

Consider the below script #!/usr/bin/bash chan=/tmp/pipe.$$ mkfifo $chan { for x in a b c d e do echo $x > $chan done } & for y in 1 2 3 4 5 do x=$(cat $chan) echo &...
  • 4,217
1 vote
0 answers
261 views

File locking from different therads of the same process, including for Solaris OS

I need to perform a file lock when accessing a file from C/C++ code with the following requirements: Blocking should be performed when access occurs not only from different processes, but also from ...
  • 247
0 votes
0 answers
111 views

Are there any plans for Linux to add higher-level things like Windows' WaitForMultipleObjects?

WaitForMultipleObjects is one of several Windows kernel functions that can suspend and synchronize a calling thread with other threads until resources or etc are available, similar to flock in Linux, ...
0 votes
1 answer
81 views

How to redirect running process output from pipe to something else?

Is there any way to redirect stdout (1) from that "pipe" (I don't know exacly how I suppose interpret this, I will be glad if someone could explain how to treat this, or give me some read on ...
  • 103
1 vote
0 answers
285 views

How to listen the requests sent to a unix socket

I'm learning docker and wanted to see the API commands sent by the client to the docker server/engine. I know that the communication between the two processes happens via /var/run/docker.sock. Is ...
1 vote
0 answers
193 views

Internals of signal handling

I have been studying this excellent Caltech lecture regarding the signal delivery mechanism, which talks about how current process state (stack, RIP etc) at the time of the signal generation is copied,...
  • 163
0 votes
1 answer
1k views

How to open an existing named semaphore?

Obviously O_CREAT and O_EXCL are not required when opening an existing semaphore. O_CREAT is required when creating a new semaphore. O_EXCL is only meaningful when OR-ing with O_CREAT, specifying that ...
  • 121
0 votes
1 answer
1k views

List processes associated with shared memory

When I run ipcs -m I get below info ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000 38699014 user 700 8125440 2 dest 0x00072 2064391 ...
1 vote
1 answer
220 views

How can we trace a TCP/IP packet in a server

I'm developing a backend service. The backend contains some processes, meaning that when a client sends a request to my server, the request will go through these processes. For example, a request will ...
  • 3,031
0 votes
0 answers
154 views

Is there dependency between Unix/Linux IPC facilities?

The Linux Programming Interface summarizes UNIX/Linux IPC facilities for communication and synchronization Is there dependency between any of the facilities? Either between their interfaces or their (...
  • 95.9k
0 votes
1 answer
918 views

systemd service permission error when binding to ipc port inside a VM

I'm using vagrant to emulate services with network communication. My base box is the ubuntu/bionic64. The application that I'm porting to the VM is written in C++ and binds to ipc addresses as follows:...
  • 103
1 vote
1 answer
140 views

Is RAM usage of IPC a part of the RAM usage of a program

I'm learning how to use Message Queue in Linux and I've found a simple example: https://www.geeksforgeeks.org/ipc-using-message-queues/. With the reader and writer in this link, I can read and write ...
  • 3,031
-2 votes
1 answer
718 views

Does execve() make a child unrelated to its parent?

When a process fork() a child, the two processes are related. The child inherits a lot of things from the parent, including some IPC objects such as pipes and anonymous memory mappings. If the child ...
  • 95.9k
0 votes
1 answer
876 views

Do anonymous memory mapping and shared memory allocate space from physical memory only?

In Linux, when using mmap() for anonymous memory mapping, or using malloc(), do they allocate "space" from only physical memory, or either physical memory or swap or their combination? (I ...
  • 95.9k
0 votes
1 answer
37 views

How can I separate an already-running process from its parent?

There are three processes: A "control program", call it CP. CP launches a manager process, call it MP. MP launches a worker process, call it WP. CP is the only program I can modify. All ...
  • 871
0 votes
2 answers
80 views

Get output and input into daemon processes

Background When a SIGHUP is sent to a running nginx master process to reconfigure, if there're password encrypted certificate key, nginx(specifically the openssl library) will ask for input, as in the ...
4 votes
1 answer
2k views

/proc/[pid]/fd/[0, 1, 2]: No such file or device - even though file exists

I'm trying to access a process' stdio streams from outside its parent process. I've found the /proc/[pid]/fd directory, but when I try $ cat /proc/[pid]/fd/1 I get a No such file or device error. I ...
  • 143
0 votes
1 answer
414 views

Programming - Communicating with chess engine stockfish / FIFOs / Bash redirections

I'm trying to write a little chess program - actually more of a chess GUI. The chess GUI should use the stockfish chess engine in the background when the player plays against the computer. I got ...
  • 3
0 votes
1 answer
180 views

How to guarantee that that only a specific process reads from a named pipe?

Suppose that, at time (1), I create a named pipe using Python with the goal that eventually this Python process would write something to that named pipe. Why? Because, at time (2), there is another ...
  • 173
1 vote
1 answer
2k views

How to get notified when the other end of a socketpair is closed?

I have a parent process (client) talking with a child process (server) over Unix Domain sockets (aka IPC Sockets). The sockets are created using socketpair() and are of type datagram. I use ...
  • 131
2 votes
1 answer
1k views

Binding a AF_UNIX to any existing file?

Can we bind a Unix domain socket to any random existing file ? If no, how do you recognize a file that is used by a socket ?
1 vote
1 answer
715 views

Why below code is not able to unblock SIGINT signal

I am trying my hand on Linux Signals. Where I have created a scenario mentioned below: Initially block all SIGINT signals using sigprocmask(). If sender send SIGUSR1 signal then unblock SIGINT for ...
  • 67
3 votes
1 answer
120 views

Obtaining and returning a permit from a semaphore in a shell script

In a shell script I can use: ipcmk -S 4 To create a semaphore with 4 slots. With ipcrm I could delete the semaphore again. But how can I use it? I cannot find any semwait, ipcsemget or similar. How ...
  • 806
2 votes
1 answer
2k views

How do the kernel and processes communicate?

In Linux there are various ways for inter process communication, for example, shared memory, (named) pipe, socket, message queue. What are equivalent or similar ways in which Linux kernel and ...
  • 95.9k
2 votes
1 answer
665 views

Optimal sharing of a ring buffer between processes

We're implementing an embedded Linux system and have to provide a live updating graph on a website that shows data coming from a background process in the system. The question is how to optimally ...
  • 33
2 votes
2 answers
2k views

How does journald know the PID of a process that produces log data?

When I look at journalctl, it tells me the PID and the program name(or service name?) of a log entry. Then I wondered, logs are created by other processes, how do systemd-journald know the PID of ...
0 votes
1 answer
1k views

Why when I run `$ ipcs` are all shared memory segment keys "0x00000000"?

So when I run $ ipcs, the shared memory segment section returns a variety of results: ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status ...
0 votes
1 answer
3k views

bash: Reading a full record from a fifo

I wish to send a command to process A, from process B, via a FIFO. The command will be a word or a sentence, but wholly contained on a "\n" terminated line - but could, in general, be a multi-line ...
  • 792
2 votes
1 answer
115 views

Does pseudoterminal transfer byte stream or message?

From The Linux Programming Interface under "data transfer" under "communication", we have "byte stream", "message" and "pseudoterminal". Does pseudoterminal belong to byte stream instead, just like ...
  • 95.9k
1 vote
1 answer
194 views

Can FIFO or other thing not block on writer's access, and instead just drop data?

FIFO is problematic in use because both reader and writer have to open it – if one of them is being late, the other one is blocked inside the operating system. I have to implement a publishing ...
  • 13
1 vote
1 answer
1k views

netlink: GNEL_ID_GENERATE definition removed from RHEL7.5 kernel library

We have a kernel module that was building fine for RedHat family of Linux distribution, until the recent RHEL7.5. When trying to build on RHEL7.5, we've got an error of: ...error: ‘GENL_ID_GENERATE’...
3 votes
1 answer
7k views

What is the purpose of using a FIFO vs a temporary file or a pipe?

From APUE FIFOs can be used to duplicate an output stream in a series of shell commands. This prevents writing the data to an intermediate disk file (similar to using pipes to avoid intermediate ...
  • 95.9k
4 votes
1 answer
8k views

Sharing file descriptors

If file descriptors are specific to each process (i.e. two processes may use the same file descriptor id to refer to different open files) then how is it possible to share transfer file descriptors (e....
  • 153
0 votes
0 answers
140 views

Shared buffer for user space processes

Currently Im implementing a shared buffer between user space processes. For that, I have a library which opens a client UNIX socket for the client processes to dump events into the server socket. My ...
1 vote
0 answers
231 views

same netlink socket for inter-user space process communication and user space-kernel space communication?

Is it possible to use the same netlink socket for kernel - user space process and witin user space process communication??
1 vote
0 answers
1k views

Communication between user space and kernel space - AF_netlink + AF_Unix

I am new to IPC and am trying to implement a common buffer between kernel and user space processes. My design will be in such a way, I will have a library(in user space) where my client socket tries ...
0 votes
1 answer
74 views

What methods exist for capturing stdout into a buffer that is automatically cleared on read?

I want to store the stdout from a process into a buffer and have the buffer emptied once read, FIFO style. I know that I can pipe the stdout, but the pipe/file will keep growing and contain data that ...
0 votes
1 answer
139 views

Question about IPC [closed]

Hello and thanks in advance for any help anyone can offer to help me understand this I'm curious about a 30.000 ft view on how IPC works in Linux between parent-child processes...I understand there's ...
  • 131
1 vote
0 answers
301 views

How to measure the bandwidth of IPC

I need to do some measure about communication between two processes in my Ubuntu server. Saying that the two processes are process A and process B. A keeps sending data to B. I need to get two kinds ...
  • 3,031
0 votes
1 answer
629 views

Issues due to independent concurrent writes to shared memory

Actually I would like to know the issues caused by independent concurrent writes to shared memory. To be more elobarote, consider we have three processes (proc1, proc2, proc3). These 3 processes are ...
0 votes
1 answer
2k views

Handling multiple messages in message queue

I've done some research about this topic but I didn't understand it quite well. From msgsnd man page : The msgsnd() system call appends a copy of the message pointed to by msgp to the ...
0 votes
1 answer
644 views

Handling SIGALRM in two different ways

How can we handle 2 different alarms sent by alarm()?? For example if I have A=5 and B=10, how can I say to my program to do an action after A seconds and a different one after B seconds without ...
5 votes
1 answer
2k views

Command line pub / sub without a server?

Is there a way of implementing the publish / subscribe pattern from the command line without using a server process? This need only work on one machine. The main thing I want to avoid by not having a ...
  • 1,116
2 votes
0 answers
595 views

trapping signals without interfering with other signals

When trapping a signal in a shell script, the trap commands are not executed until the current command finishes. For example, consider the following shell script: #!/bin/bash trap 'echo "SIGTERM ...
  • 3,570