batch

Batch

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.

batchEnvía un trabajo a una cola de procesos.
at hora dia mesEnvía un trabajo con fecha y hora de ejecución determinada.

Ejemplos:

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.

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:

para que se despliegue una lista con los trabajos pendientes como la siguiente:

y para eliminar algún trabajo debe escribirse at -r número_de_trabajo:


Estos comandos ademá de utilizarse para los programas del GCG, convencionalmente se utilizan de la misma manera para otros muchos comandos del Unix.

%at -r 932158800.a 

932158800.a     Fri Jul 16 17:00:00 1999 932077560.a     Thu Jul 15 18:26:00 1999 

%at -l 

yemanya%at 1900 thursday next week fetch ab00017*  yemanya% 

yemanya%batch stringsearch -INfile=GenEMBL:* -STRings=Escherichia -Default  yemanya%