NOME
at, batch, atq, atrm − mette in coda, esamina o cancella lavori per esecuzione ritardata
SINTASSI
at
[-V] [-q coda] [-f file]
[-mldbv] ORARIO
at -c compito [compito...]
atq [-V] [-q coda] [-v]
atrm [-V] compito [compito...]
batch [-V] [-q coda] [-f
file] [-mv] [ORARIO]
DESCRIZIONE
at e batch leggono da standard input o da un file specificato comandi da eseguire in un successivo momento usando /bin/sh.
at |
esegue un comando a un’ora specificata. | ||
atq |
elenca i processi sospesi dell’utente, a meno che l’utente sia il super-utente; in quel caso vengono elencati i processi di tutti. | ||
atrm |
cancella i processi. | ||
batch |
esegue i comandi quando i livelli di carico del sistema lo permettono; cioè quando il carico medio va sotto il limite di 0.8 o il valore specificato nell’invocazione di atrun. |
At permette di specificare l’orario in modo piuttosto complesso, estendendo lo standard POSIX.2. Accetta ore della forma OOMM o OO:MM per eseguire un processo a una specificata ora del giorno (se quell’ora è già trascorsa, viene supposto il giorno successivo). Si può anche specificare midnight(mezzanotte), noon(mezzogiorno), o teatime (le 16) e si può usare come suffisso all’ora AM or PM per l’esecuzione al mattino o alla sera. Si può anche indicare in quale giorno verrà eseguito il processo, dando un’ora nella forma nome-mese(ininglese) giorno con un annoopzionale, o una data nella forma MMGGAA o MM/GG/AA o GG.MM.AA. L’indicazione della data deve seguire l’indicazione dell’ora. Si possono anche usare orari come now(adesso) + numero unità-di-misura dove unità-di-misura può essere minutes(minuti), hours(ore), days(giorni) o weeks(settimane). Si può dire al comando at di eseguire il compito oggi aggiungendo all’ora un suffisso come today e di eseguire il compito domani aggiungendo all’ora un suffisso come tomorrow.
Per esempio, per eseguire un compito alle 16 fra tre giorni a partire da adesso, si immetterebbe at4pm+3days, per eseguire un compito alle 10 del 31 luglio si userebbe at 10am Jul 31 e per eseguire un compito alle 13 di domani, si userebbe at1amtomorrow.
La definizione esatta delle specifiche di orario possono essere trovate in /usr/doc/at-3.1.7/timespec.
Per entrambi at e batch, i comandi vengono letti dallo standard input o dal file specificato con l’opzione -f ed eseguiti. La directory di lavoro, l’ambiente (tranne le variabili TERM, DISPLAY e _) e la variabile umask sono quelle dall’ora d’invocazione. Un comando at − o batch − chiamato da una shell su(1) manterrà lo userid attuale. Lo standard error e lo standard output dei comandi, se ce ne sono, verranno inviati all’utente. Il messaggio verrà spedita usando il comando /usr/sbin/sendmail. Se at viene eseguito da una shell su(1), il proprietario della login riceverà il messaggio.
Il superutente può sempre usare questi comandi. Per gli altri utenti, l’autorizzazione all’uso è determinata dai file /etc/at.allow e /etc/at.deny.
Se il file /etc/at.allow esiste, solo gli utenti il cui nome vi è menzionato sono abilitati a usare at.
Se /etc/at.allow non esiste, /etc/at.deny viene controllato, ed ogni utente il cui nome non vi è menzionato è abilitato a usare at.
Se né l’uno né l’altro esistono, solo il superutente è abilitato a usare at.
Un file /etc/at.deny vuoto significa che ogni utente è autorizzato a usare questi comandi, questa è la configurazione predefinita.
OPZIONI
-V |
stampa il numero della versione sullo standard error. | ||
−q coda |
usa la coda specificata. Un identificativo di coda è composto da una singola lettera; gli identificativi validi di coda variano da a a z e da A a Z. La coda a è quella predefinita per at e la coda b per batch. Le code con lettere più alte sono eseguite con priorità inferiore. La coda speciale «=» è riservata per i compiti che sono al momento in esecuzione. |
Se un compito è sottomesso a una coda identificata da una lettera maiuscola, viene trattato come se fosse stato sottomesso a batch in quel momento. Se ad atq viene data una coda specifica, mostrerà solo i processi pendenti in quella coda.
−m |
Spedisce un messaggio all’utente quando il lavoro è stato completato anche se non c’è stato output. | ||
−f file |
Legge il lavoro dal file piuttosto che da standard input. | ||
−l |
È un alias per atq. | ||
−d |
È un alias per atrm. | ||
−v |
Per atq, mostra i lavori ultimati ma non ancora cancellati nella coda; altrimenti mostra l’ora in cui verrà eseguito il compito. |
Le ore mostrate sono nel formato "1997-02-20 14:50", a meno che sia impostata la variabile POSIXLY_CORRECT, nel qual caso il formato è "Thu Feb 20 14:50:00 1996".
−c |
mostra i lavori elencati nella linea di comando sullo standart output. |
FILE
/var/spool/atjobs
/var/spool/atspool
/proc/loadavg
/var/run/utmp
/etc/at.allow
/etc/at.deny
VEDERE ANCHE
cron(1), nice(1), sh(1), umask(2), atd(8)
BACHI
La corretta esecuzione di batch per Linux dipende dalla presenza di una directory di tipo proc montata su /proc.
Se il file /etc/utmp non è disponibile o corrotto, o se l’utente non è collegato nel momento in cui at viene chiamato, la posta viene spedita allo userid trovato nella variabile d’ambiente LOGNAME. Se quella è indefinita o vuota, viene assunto l’attuale userid.
at e batch come implementati al momento non sono adatti ad una situazione in cui gli utenti competono per le risorse. Se questo è il vostro caso, potreste voler considerare un altro sistema di schedulazione, come nqs.
AUTORE
at è stato per lo più scritto da Thomas Koenig, ig25 [AT] rz.de.