UNIX permite colocar un trabajo en background y automáticamente en baja prioridad por medio del comando batch. Los trabajos son enviados a una cola de procesos y se ejecutarán de manera progresiva dependiendo de cuán ocupado esté el sistema. Esto significa que los procesos se van ejecutando sin competir entre ellos. Un e-mail se envía de manera automática cuando el proceso ha terminado.
Esto permite que un usuario entre en cuenta, ejecute un script que ponga varios procesos en background y se salga de la cuenta, sin que los procesos se detengan.
Otro comando que permite colocar procesos en background es at, este permite además especificar el momento en que queremos ejecutar el proceso.
| batch | Envía un trabajo a una cola de procesos. |
| at hora dia mes | Envía un trabajo con fecha y hora de ejecución determinada. |
Ejemplos:
yemanya%batch
stringsearch -INfile=GenEMBL:* -STRings=Escherichia -Default
<control-D>
yemanya%
Este comando esperará a que el sistema esté suficientemente vacío para ejecutar el programa stringsearch del GCG usando como base de datos el Genebank y el EMBL, para buscar a los reportes relacionados con el término "Escherichia", dejando el resto de las opciones como están especificadas por omisión.
yemanya%at 1900 thursday next week
fetch ab00017*
<control-D>
yemanya%
Con este comando se obtendrán los reportes de las secuencias que tengan códigos del GeneBank que comiencen con "ab00017", pero el jueves de la próxima semana a las 7 de la noche.
Para eliminar un trabajo que se ha enviado a ejecutar en otro momento, primero debe escribirse:
%at -l
para que se despliegue una lista con los trabajos pendientes como la siguiente:
932158800.a Fri Jul 16 17:00:00 1999
932077560.a Thu Jul 15 18:26:00 1999
y para eliminar algún trabajo debe escribirse at -r número_de_trabajo:
%at -r 932158800.a
Estos comandos ademá de utilizarse para los programas del GCG, convencionalmente se utilizan de la misma manera para otros muchos comandos del Unix.