From owner-freebsd-questions Sat Mar 13 8:21:16 1999 Delivered-To: freebsd-questions@freebsd.org Received: from nyc-ny77-30.ix.netcom.com (nyc-ny77-30.ix.netcom.com [209.109.228.222]) by hub.freebsd.org (Postfix) with ESMTP id E02CE14CB1 for ; Sat, 13 Mar 1999 08:21:11 -0800 (PST) (envelope-from spork@startrekmail.com) Received: from localhost (spork@localhost) by nyc-ny77-30.ix.netcom.com (8.9.2/8.8.7) with ESMTP id LAA00732; Sat, 13 Mar 1999 11:18:05 -0500 (EST) (envelope-from spork@startrekmail.com) X-Authentication-Warning: nyc-ny77-30.ix.netcom.com: spork owned process doing -bs Date: Sat, 13 Mar 1999 11:18:04 -0500 (EST) From: Spike X-Sender: spork@nyc-ny77-30.ix.netcom.com Reply-To: sporkl@ix.netcom.com To: "Ben J. Cohen" Cc: sporkl@ix.netcom.com, questions@FreeBSD.ORG Subject: Re: Redirection of processes and of X clients In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sat, 13 Mar 1999, Ben J. Cohen wrote: > On Sat, 13 Mar 1999, Spike wrote: > >On Sat, 13 Mar 1999, Ben J. Cohen wrote: > > >> Firstly, is it possible to change the terminal a program is attached to > >> while it is running? > >> > >> For example, if I am running talk, is it possible to move the program from > >> ttyp2 to ttyv1 on the same machine (e.g. prior to shutting X down if I > >> don't want to lose the connection)? > >> > >> I don't know how this might be achieved, but I know that if you have a > >> program in the background, kill -SIGCONT pid will make it run in the > >> foreground (in some sense). > >> However, I don't see how to apply this in the case where a program is > >> attached to a terminal. > > > >I don't believe what you want is at easily feasible. A process sent to the > >background is still attached to your terminal. What you want to do is set > >the STDIN, STDOUT, and STDERR file descriptors to a different terminal. > >Unless the program supports the ability to reassign its STD* file > >descriptors, I don't think you can do this. > > That is basically what I want to do. > Does the program which is being "moved" have to support the reassignment > or is it sufficient to get another program to do it? I suppose you could make a program that would run a second program with that second program's STD* file descriptors pointing at the first program, and then the first program would wait for, SIGUSR1, or specific user input, and then accept a filename to re-direct it's STD* file descriptors to and therefor the second program's as well. It shouldn't be that hard to write, but I'm not very good with C. I think I will give it a try though. Don't expect too much. > > Is there a program (or can one feasibly be written) which does this? > > > Thanks, > > Ben. > > > -Spike Gronim sporkl@ix.netcom.com Finger gronimw@shell.stuy.edu for PGP public key. The majority only rules those who let them. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message