La respuesta de Bernhard es correcta: en sistemas multiusuario, la capacidad de ejecutar programas pesados en algunas horas impías de la noche es especialmente conveniente, tanto para la persona que presenta el trabajo como para sus compañeros de trabajo. Es parte de "jugar bien".
Hice la mayor parte de mi doctorado. cálculos de esta manera, combinando el script con el comando agradable que degradaba la prioridad de mi trabajo cuando otras personas mantenían la máquina ocupada, mientras dejaba intacta su capacidad de acaparar todos los recursos del sistema por la noche.
Utilicé el mismo comando para verificar si mi programa se estaba ejecutando y reiniciarlo si fuera necesario.
Además, debe tener en cuenta que en fue escrito mucho antes de pantalla, tmux , y así sucesivamente, de modo que era una forma sencilla de tener una cáscara individual, es decir, uno que no moriría una vez que se cierra la sesión del sistema.
Por último, también debe notar que es diferente de cron, que también ha existido durante mucho tiempo. Las mentiras diferencia en el hecho de que al decir de vez en cuando, mientras que cron, al ser tan repetitivo, es más adecuado para los trabajos del sistema, que realmente necesitan para ser ejecutado por siempre a intervalos fijos: de hecho, al que le da a su propio entorno, con su propia configuración ( y opciones) de la variable de entorno, mientras que cron usa un conjunto mínimo de variables de entorno (solo verifique la diferencia en PATH , como ejemplo).
at
conserva su entorno tal como estaba cuando se programó el trabajo: el mismo directorio de trabajo, variables de entorno, ...batch
, que es casi idénticoat
, pero esperará una carga baja en su lugar, y aparentemente,at -q z
hará el trabajo por sí mismo, mientrasat -q Z
que esperará el tiempo, luego esperará a que la carga caiga, y también hará el trabajo. ¡Vaya, qué cantidad de funciones rara vez se usan!Uso el
at
comando cuando necesito hacer un procesamiento pesado en los datos, que quiero haber ejecutado durante la noche, cuando no estoy detrás de mi computadora. Por supuesto, podría comenzar el proceso justo después de irme, pero esto es algo que tiendo a olvidar.El resultado del comando no es diferente de la ejecución regular del script o comando.
fuente
Cuando tenga preguntas como esta, consulte siempre las páginas de manual. Pueden ser muy esclarecedores.
Que hace
extracto de la página man
Uso
El uso de las herramientas:
at
incluye 4 comandos (at
,atq
,atrm
, ybatch
). Utilizaat
ybatch
para programar los trabajos,atq
para ver qué está programado yatrm
para eliminar un trabajo antes de que se ejecute.Timespec
El tiempo para ejecutar el
at
trabajo se puede especificar de diferentes maneras.formulario de extracto en la página del manual
Ejemplos
Digamos que tienes este script de shell.
Ejecución de muestra:
Muestra en las entregas de trabajo:
Referencias
fuente
at
disponible en mi instalación de Cygwin - que no parece estar ligado abatch
, no son compatibles con las opciones cortas en absoluto, no hay ninguna opción tranquila, y no hayman
oinfo
se incluyen páginas.Puede ejecutar trabajos por lotes en UNIX / Linux utilizando cualquiera de los tres comandos: at, batch o cron.
Programe un trabajo en una fecha y hora específicas
fuente
El administrador de su red le informa que se realizarán algunos trabajos de mantenimiento en sus servidores web a partir de las 7 p.m. y terminando a las 2 a.m. Desea enviar una notificación de mantenimiento de antemano y desea el máximo tiempo de actividad de su sistema. ¿Vas a quedarte despierto toda la noche, listo para ejecutar varios comandos y luego volver a iniciarlo más tarde? No, querrás usarlo
at
para programar estas tareas, luego ve a la cama / juega skyrim y olvídate de eso.fuente
at
También puede ser una forma muy útil de disparar recordatorios. Mi máquina de desarrollo actual está ejecutando OSX, porat
lonotify.bash
que lo simple que improvisé puede ser realmente útil:notify.bash
fuente