You can run SPIDER programs in the background (similar to using batch queues on VMS machines). Since any UNIX command can be run in the background by simply placing '&' character at end of the command line there are no special scripts necessary. There is only one version of SPIDER as well (no distinction between interactive and batch versions, driver and SPIDER). If you want to run a familiar batch program with do-loops such as in VAX/VMS SPIDER then use a ordinary SPIDER batch file and place the DATA CODE and starting batch file name (without DATA CODE) on the command line for SPIDER, e.g. if your batch file is in B01.TOM the program can executed in the background and the output placed in a file called "outfile" as follows:
$ spider TOM B01 > outfile &In either case the system will respond giving PID number for your background process. Should you want to terminate the program give the following UNIX command:
$ kill <PID number>Should you want to suspend and restart the program give the give the following UNIX commands:
$ kill -STOP <PID number>If you forget to start SPIDER in the background and want to place the process in the background while it is running, you can halt the process with <CTRL-Z> then issue the "bg" command to restart the process in the background. In the Bourne shell, processes run in the background are terminated when you logout! To prevent this use the "nohup" command:
$ kill -CONT <PID number>
$ nohup spider TOM B01 >outfile &If you run a program in the background and want to retain any error output you can redirect the error output to a file "errfile" as follows:
$ nohup spider TOM B01 >outfile 2>errfile &
To start Spider (or any given string of commands, for that matter) at given date & hour one has to use UNIX 'at' command (for exact format please type 'man at' on your UNIX machine):
$ at 7:12pm Jan 22
$ SPIDER_LOC/spider TOM B01 < start_up > outfile
date > done_at_this_time
^D
Queues can be set up for different scheduling regimes if needed. Until then you can ensure that your programs are run in desired order by putting them in the desired order in the "at" string of commands)