Em geral, o método exato de chamada pode variar entre plataformas e at
implementações.
Em qualquer plataforma / configuração, at
jobs poderiam ser executados por periódicos cron
jobs ou outro agendador. No OS X, por exemplo, at
jobs são executados por launchd
via /usr/libexec/atrun
em um intervalo. Da mesma forma, no FreeBSD /usr/libexec/atrun
é executado a cada poucos minutos pelo cron.
No meu sistema Debian 7, eu tenho um serviço atd
em execução que funciona independentemente do cron. Apesar disso, armazena em trabalhos em /var/spool/cron/{atjobs,atspool}
.
Do mesmo modo, tenho um /etc/init.d/atd
para iniciar o serviço na inicialização. Acredito que esse uso de atd
seja comum em muitos sistemas Linux, o que parece incluir o SUSE. Nesse caso, at
e cron
não estão relacionados e são independentes um do outro.
Você pode confirmar como seu sistema funciona. Pare seu serviço cron e execute o seguinte comando:
echo 'touch /tmp/testfile' | at now + 1 minute
Dentro de 1 minuto, verifique se /tmp/testfile
existe. Em caso afirmativo, at
jobs estão sendo executados.