GNU/Linux >> Linux Esercitazione >  >> Linux

Come pianificare le attività utilizzando in Linux

Il demone atd

Il demone atd consente agli utenti di inviare lavori da eseguire in un secondo momento, ad esempio "alle 2:00". Per poter utilizzare il demone atd, deve essere in esecuzione. Gli utenti possono confermare che atd è in esecuzione semplicemente esaminando un elenco di processi in esecuzione:

$ ps aux | grep atd
daemon   4730  0.0  0.2  1420  532  ?      S  15:42  0:00   /usr/sbin/atd 
madonna  5570  0.0  0.2  3572  640  pts/2  S  16:43  0:00   grep atd

Si noti che la settima colonna specifica a quale terminale è associato un processo. Per il comando grep di blondie, il terminale è pts/2, che probabilmente si riferisce a una shell di rete oa un terminale grafico all'interno di una sessione X. Si noti che il demone atd non ha un terminale associato. Una delle caratteristiche distintive di un demone è che perde la sua associazione con il terminale che lo ha avviato.

Invio di lavori con a

Il comando at viene utilizzato per inviare lavori a atd demone da eseguire in un momento specifico. I comandi da eseguire vengono inviati come script (con l'opzione della riga di comando -f) o immessi direttamente tramite stdin. Lo standard fuori dal comando viene inviato all'utente.

at [-f filename | -m] TIME
Cambia Effetto
-f nomefile esegui lo script specificato da nomefile
-m Avvisa l'utente via e-mail al termine, anche se non c'è output.

L'ora del giorno può essere specificata utilizzando HH:MM, con suffisso "am" o "pm". È possibile utilizzare anche i termini "mezzanotte", "mezzogiorno" e "ora del tè". (Hai letto correttamente "l'ora del tè".) È anche possibile specificare una data utilizzando diversi formati, inclusi MM/GG/AA. La pagina man di at(1) fornisce molti più dettagli.

Il wrestler hogan vorrebbe stampare un file contenente tutta la posta dei fan che ha ricevuto, fanmail.txt. È un po' preoccupato, però, perché condivide la stampante con Ventura, che usa molto anche la stampante. Volendo evitare una rissa, Hogan decide di posticipare la stampa fino alle 2:00 del mattino.

$ at 2:00 am
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
at> lpr fanmail.txt
at> CTRL-D
job 7 at 2020-06-17 02:00

Perché hogan non ha usato il -f interruttore della riga di comando, il comando at ha richiesto a hogan di digitare i suoi comandi usando stdin (la tastiera). Fortunatamente, hogan sa che CTRL-D, se inserito direttamente da un terminale, indica una "fine del file". In alternativa, avrebbe potuto inviare direttamente il comando a stdin:

$ echo "lpr fanmail" | at 2:00 am
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
job 7 at 2003-06-17 02:00

Successivamente, hogan conferma che il suo lavoro è stato registrato utilizzando atq.

$ atq
7     2003-06-17 02:00  a hogan

Infine, Hogan ricorda che Ventura è in vacanza, quindi può stampare la posta dei suoi fan senza incidenti. Decide di annullare il suo lavoro e stampare direttamente il file.

$ atrm 7 
$ atq 
$ lpr fanmail.txt

Ritardare le attività con batch

Il lotto Il comando, come il comando at, viene utilizzato per rinviare le attività a un momento successivo. A differenza del comando at, batch non esegue il comando a un'ora specifica, ma attende invece che il sistema non sia occupato con altre attività, ogni volta che tale orario potrebbe essere. Se la macchina non è occupata quando il lavoro viene inoltrato, il lavoro potrebbe essere eseguito immediatamente. Il demone atd monitora il loadavg del sistema e attende che scenda al di sotto di 0.8 prima di eseguire il lavoro.

Il comando batch ha una sintassi identica al comando at, in cui i lavori possono essere specificati utilizzando stdin o inviati come file batch con -f interruttore della riga di comando. Se viene specificato un tempo, il batch ritarderà l'osservazione della macchina fino al tempo specificato. A quel punto, il batch inizierà a monitorare il loadavg del sistema ed eseguirà il lavoro quando il sistema non è altrimenti occupato.


Linux
  1. Suggerimenti Linux per l'utilizzo di cron per pianificare le attività

  2. Come riavviare Linux utilizzando la riga di comando

  3. Come uccidere un processo su Linux usando il comando?

  4. Come ordinare i file in Linux usando il comando di ordinamento

  5. Come dividere iso o file usando il comando "split" in Linux

Come fare screenshot su Linux usando Scrot

Come creare una directory in Linux usando il comando mkdir

Come eseguire periodicamente un comando in Linux usando Watch

Come eseguire il backup del filesystem Linux utilizzando il comando dump

Come automatizzare i lavori giornalieri su Linux usando (at)

Pianifica i lavori in Linux con il comando 'at'