Digamos que ejecuto un script con atLinux (ejemplo a continuación) que sé que tomará varias horas, o tal vez incluso varios días. Estoy acostumbrado a atenviar un correo electrónico con la salida del comando una vez que se completa, pero ¿y si quisiera echar un vistazo a la salida actual antes de que se complete? Supongamos también que ya he encontrado el guión y se olvidó de redirigir la salida usando tail, teeu otros métodos similares y no quiero detener el script. ¿Hay alguna forma de hacer esto?
drew@anubis:~$ at now
warning: commands will be executed using /bin/sh
at> ./myscript.sh
at> <EOT>
job 3 at Sat Jan 7 09:31:00 2017

tail -fese archivo?taily no quiero detenerlo.Respuestas:
Si el trabajo ha comenzado y tiene alguna forma de obtener el PID de ese trabajo, podría ver dónde
atestá guardando la salida:Como puede ver, la salida se guarda en un archivo temporal, que ahora puede verificar:
Necesita
sudoporque el directorio que contiene no es accesible al mundo (al menos en Ubuntu 14.04):fuente
attrabajo. Ni siquiera necesitas el PID. Simplemente puede ejecutarsudo ls /var/spool/cron/atspooly debería, en teoría, ser el único archivo allí.Otra forma de determinar qué archivo de spool pertenece a su trabajo es obtener el número de trabajo
atq.Convierta el número de trabajo a hexadecimal. por ejemplo, 38 (dec) = 26 (hex).
Su archivo se denominará letra de cola (el 99% del tiempo, es
a) seguido de una identificación de trabajo hexadecimal de 5 dígitos (lo aprendí mirando el código fuente delatcomando).Entonces puedes ver el stdout
fuente