Jump to content

at (command)

From Wikipedia, the free encyclopedia
(Redirected from Batch (Unix))
at
Developer(s)Thomas Koenig, Microsoft, ReactOS Contributors
Written inUnix-like, ReactOS: C
Operating systemUnix-like, Windows, ReactOS
TypeCommand
LicenseWindows: Proprietary software
ReactOS: GPLv2

In computing, at is a command in Unix-like operating systems, Microsoft Windows,[1] and ReactOS[2] used to schedule commands to be executed once, at a particular time in the future.

Design

[edit]

Unix-like

[edit]

On Unix-like operating systems, at reads a series of commands from standard input and collects them into one "at-job" which is carried out at a later date. The job inherits the current environment, so that it is executed in the same working directory and with the same environment variables set as when it was scheduled. It differs from cron, which is used for recurring executions (e.g. once an hour, every Tuesday, January 1 every year). As with cron, many Unix systems allow the administrator to restrict access to the at command. at can be made to mail a user when done carrying out a scheduled job, can use more than one job queue, and can read a list of jobs to carry out from a file instead of standard input. The Linux at command was mostly written by Thomas Koenig.[3]

Microsoft Windows and ReactOS

[edit]

In addition to the graphical user interface for Windows Task Scheduler in Control Panel, Windows provides an at.exe command that schedules commands and programs to run on a computer at a specified time and date (similar to cron). It is available since Windows NT, but is now deprecated in favor of schtasks. It can only be used when the Schedule service is running. When used without parameters, at.exe lists scheduled commands.[4] at.exe cannot access tasks created or modified by Control Panel or schtasks.exe.[5] Also, tasks created with at.exe are not interactive by default; interactivity needs to be explicitly requested.[6]

The ReactOS implementation is based on the Windows variant. It was developed by Eric Kohl and is licensed under the GPLv2.[2]

Usage

[edit]

Unix-like

[edit]

A sample command to compile a C program at 11:45 a. m. on January 31 would be:

$ echo "cc -o foo foo.c" | at 1145 jan 31

or

$ at 1145 jan 31
at> cc -o foo foo.c
at> ^D #(press Control-D while at the beginning of a line)

The atq program lists the currently queued jobs, while atrm removes jobs from the queue:

$ atq
1234 2011-08-12 11:45 cc -o foo foo.c user
$ atrm 1234 
$ atq
$

In some Unix-like computer operating systems, it uses a daemon, atd, which waits in the background periodically checking the list of jobs to do and executing those at their scheduled time on behalf of at.

Variants

[edit]

The batch command can be used instead of at to only run scheduled jobs if the system's load average is below a certain value.

Microsoft Windows and ReactOS

[edit]

To use at.exe, the user must be a member of the local Administrators group.

The command-syntax is:

at [\\ComputerName] [{[ID] [/delete]|/delete [/yes]}]
at [[\\ComputerName] hours:minutes [/interactive] [{/every:date[,...]|/next:date[,...]}] command]
\\ ComputerName
This parameter specifies a remote computer. If it is omitted, at schedules the commands and programs on the local computer.
ID
This parameter specifies the identification number assigned to a scheduled command.
/delete
This parameter cancels a scheduled command. If ID is omitted, all of the scheduled commands on the computer are canceled.
/yes
This parameter answers yes to all queries from the system when you delete scheduled events.
hours : minutes
This parameter specifies the time when to run the command.
/interactive
This parameter allows the given command to interact with the desktop of the user who is logged on at the time command runs.
/every:
This parameter runs the given command on every specified day or days of the week or month.
date
This parameter specifies the date when to run the given command. One or more days of the week can be specified. If date is omitted, at uses the current day of the month.
/next:
This parameter runs command on the next occurrence of the day.
command
This parameter specifies the Windows command, program (that is, .exe or .com file), or batch program (that is, .bat or .cmd file) that will be run.
/?
Displays help for the command.

See also

[edit]

References

[edit]
  1. ^ at | Microsoft Docs
  2. ^ a b reactos/at.c at master · reactos/reactos · GitHub
  3. ^ "At(1) - Linux man page".
  4. ^ "At". Microsoft TechNet. Microsoft. Retrieved 18 May 2014.
  5. ^ "How To Use the AT Command to Schedule Tasks". Support. Microsoft. 30 October 2006.
  6. ^ "Applications Started with AT Are Not Interactive". Support. Microsoft. 20 February 2007. Archived from the original on October 29, 2004.

Further reading

[edit]
[edit]