Sponsored Content
Top Forums UNIX for Advanced & Expert Users How to attach an xterm to a process/thread ? Post 302168126 by cadanir on Sunday 17th of February 2008 07:04:44 AM
Old 02-17-2008
From your description, it's difficult to know if U program in C, XWindow, or scripting in Perl, ksh or dtksh... but maybe the easiest way is to use named pipes.

Simply creates your named pipes and read/write to them from any process or thread...

For example, main process creates 5 threads, each thread create his named pipe and write data to his named pipe, main process then creates 5 xterm process reading and printing each named pipes...

Also, if the data is not volatile, threads can write data to regular files and xterm processes could read them continuously like 'tail -f'...

We are limited just by our imagination... depending on the task to do, U can use shared memory, memory mapped files, message queues, database, indexed files, etc...
 

10 More Discussions You Might Find Interesting

1. Programming

List of Thread IDs of a process

Hello, Can some one tell how to read the thread IDs of the current process in Sun Solaris. Any help will be appreciated. regards, Murali (0 Replies)
Discussion started by: hmurali
0 Replies

2. Shell Programming and Scripting

get Thread information from process

Hello all im trying to build small script in tcsh that will monitor some process that are making some api calles to some server . first of all im trying to find way to see how many threads each process is using , and else how can i print each Thread id . can it be done ? ( using sunOs ) (2 Replies)
Discussion started by: umen
2 Replies

3. Shell Programming and Scripting

[BASH] xclock/xcalc/xterm...process question?

I have no idea how to do this: Let's say the user opens an "xclock &" in one of my scripts and I don't want him to be able to re-open one with the script. How could I test that? Possibly with a message saying that "The <xclock(or w/e other process like xcalc)> is already running in the... (3 Replies)
Discussion started by: Yakuzan
3 Replies

4. UNIX for Advanced & Expert Users

attach process from another ssh session

Hi, I was logged in on a server, by ssh, with a vim open, when the battery of my laptop got empty. When I return to the server by ssh, I can see my previous ssh session still open, and the vim process running (ttyp0). Is there a way to attach that vim to my new session (ttyp4)? Here's part... (2 Replies)
Discussion started by: raphinou
2 Replies

5. Programming

Need the PID of a process in a thread

How do I run a process from a C++ p_thread and obtain its PID? Right now I am doing in a p_thread: system("ampl method.run"); and into the main function (after running the thread mentioned before): sleep(5); //Just to be sure that the thread is executing the ampl command system("ps... (1 Reply)
Discussion started by: riccollado
1 Replies

6. UNIX for Dummies Questions & Answers

process and thread

i want to know a difference between process and thread,give a program to tell the difference (2 Replies)
Discussion started by: annapurna konga
2 Replies

7. UNIX for Dummies Questions & Answers

Thread count for a process id

Hi, I want to know a command/program to get thread count for a process id in unix box. Please help me in this regard. (1 Reply)
Discussion started by: manaac
1 Replies

8. Programming

dbx - attach to process, break when crash

Hey everyone, I have a process that is crashing, and I'd like to have some way to see where it crashes. Is this possible? (2 Replies)
Discussion started by: ctote
2 Replies

9. Shell Programming and Scripting

Get the process/thread running on which core

I use top -H -p 1256 to show process 1256, and then press "f" then press "j" to display it is running on which core, is there a better mothed, I want to be automated to get this (1 Reply)
Discussion started by: yanglei_fage
1 Replies

10. UNIX for Beginners Questions & Answers

Attach process with port 2222

Hi Team, is there any way, I can start any process for e.g. run a shell script (infinite loop) and attach it to port 2222? I am trying to create a scenario where an application will start running at port 2222 and I will telnet the same to confirm, application port is listening. So,... (1 Reply)
Discussion started by: vivekpandit7
1 Replies
PIPE(2) 							System Calls Manual							   PIPE(2)

NAME
pipe - create an interprocess communication channel SYNOPSIS
#include <unistd.h> int pipe(int fildes[2]) DESCRIPTION
The pipe system call creates an I/O mechanism called a pipe. The file descriptors returned can be used in read and write operations. When the pipe is written using the descriptor fildes[1] up to PIPE_MAX bytes of data are buffered before the writing process is suspended. A read using the descriptor fildes[0] will pick up the data. PIPE_MAX equals 7168 under Minix, but note that most systems use 4096. It is assumed that after the pipe has been set up, two (or more) cooperating processes (created by subsequent fork calls) will pass data through the pipe with read and write calls. The shell has a syntax to set up a linear array of processes connected by pipes. Read calls on an empty pipe (no buffered data) with only one end (all write file descriptors closed) returns an end-of-file. The signal SIGPIPE is generated if a write on a pipe with only one end is attempted. RETURN VALUE
The function value zero is returned if the pipe was created; -1 if an error occurred. ERRORS
The pipe call will fail if: [EMFILE] Too many descriptors are active. [ENFILE] The system file table is full. [ENOSPC] The pipe file system (usually the root file system) has no free inodes. [EFAULT] The fildes buffer is in an invalid area of the process's address space. SEE ALSO
sh(1), read(2), write(2), fork(2). NOTES
Writes may return ENOSPC errors if no pipe data can be buffered, because the pipe file system is full. BUGS
Should more than PIPE_MAX bytes be necessary in any pipe among a loop of processes, deadlock will occur. 4th Berkeley Distribution August 26, 1985 PIPE(2)
All times are GMT -4. The time now is 05:04 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy