Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!rutgers.rutgers.edu!sri-spam!ames!sdcsvax!ucbvax!NMFECC.ARPA!KARNEY%PPC.MFENET From: KARNEY%PPC.MFENET@NMFECC.ARPA Newsgroups: comp.os.vms Subject: Running multiple interactive programs under VMS Message-ID: <870719101422.03c@nmfecc.arpa> Date: Sun, 19-Jul-87 13:14:21 EDT Article-I.D.: nmfecc.870719101422.03c Posted: Sun Jul 19 13:14:21 1987 Date-Received: Tue, 21-Jul-87 00:46:41 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 48 One of the most objectionable features of VMS is how awkward it is to run several interactive programs simultaneously. This seems to be solved principally by one of two techiques: * SPAWNing a new subprocess -- this is allowed within several utilities (DEBUG, MAIL...) * Running a program in a subprocess, and ATTACHing to the parent when you want to do something else -- this is a common technique for running editors like Emacs and EVE. Unfortunately, each technique involves special VMS code within the utility to do the spawning/attatching. This prompts the following question: Is it possible to run n > 1 vanilla programs (e.g., standard FORTRAN programs) and bounce between them? I want to fire up program[i], give it some input, leave it running, fire up program[i+1], etc. Program[i] then runs until it needs to do terminal I/O. Then it should optionally (a) hang, (b) notify the user that program[i] needs the terminal, (c) if it only needs to do output, go ahead and do the output (mingling such output with that of other programs), (d) again if it is only output, buffer the output in some suitable place. I should be able to reconnect the terminal to program[i], do the required I/O and then hop to another program. I'm aware of two solutions: * A commercial package WINDOWS (Clyde Data Systems). I have not seen this in operation. This has the disadvantage that it costs money. * Start up multiple subprocesses in Gnu Emacs (v 17) and use the PTY drivers to talk to them. This has the disadvantage that the I/O happens through Emacs which can deal with straight text OK, but can't manage graphics, etc. Also version 18 of Emacs lost PTY support and can only do inferior mailbox communication with subprocesses. It seems to me that it should be possible using the Carosso PTY driver to write a supervisor program that can manage several programs running in subprocesses and thus do what I want. Anyone know of such a beast? Charles Karney PHONE: 609/682-2607 MFENET: Karney@PPC.MFENET ARPANET: Karney%PPC.MFENET@NMFECC.ARPA BITNET: Karney%PPC.MFENET@ANLVMS.BITNET CC: INFO-VAX@SRI-KL.ARPA KARNEY