[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

IDL Spawn command on UNIX system

I'm using IDL to SPAWN a c program on many UNIX systems using the 'remsh' 
(remote shell) command.

I would like to SPAWN these jobs in the background and forget them until
later, but, by default my IDL session stops and waits for the SPAWNed job to
be complete.  The UNIT keyword almost solves the problem by sending the
output to a pipe, and allows the IDL session to continue while the process
runs in the background.   The catch is that apparently my UNIX box still
counts this as an active process, and when 12 jobs or so have been launched
in this way, no new processes can be run.  In fact I can't even cd to
another directory in a terminal window.  I need to be able to SPAWN about 50
jobs or so at a time, some which take 12 hrs or more to run, and continue to
use my IDL session.

Another possible problem is that the documentation on pipes indicates that
the pipe, which is actually just a buffer, can fill up and cause the SPAWNed
job to stop until the buffer has been emptied.

Another possibility (I thought) was to use the keyword for No Shell, but
thus far that doesn't seem to work.  Apparently the remote shell is required
in order for the program to read its input files.

Does anyone have a suggestion or work-around?   The output to the pipe
contains no useful information, so I'd really like to dump it somewhere.  I
suppose I could edit the programs to eliminate the myriad of printf
statements I don't really want to locate and comment them out.

Thanks in advance.