{
    "mode": "man",
    "parameter": "at",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/man/at/json",
    "generated": "2026-06-05T19:21:50Z",
    "synopsis": "at [-V] [-q queue] [-f file] [-u username] [-mMlv] timespec ...\nat [-V] [-q queue] [-f file] [-u username] [-mMkv] [-t time]\nat -c job [...]\nat [-V] -l [-o timeformat] [job ...]\natq [-V] [-q queue] [-o timeformat] [job ...]\nat [-rd] job [...]\natrm [-V] job [...]",
    "sections": {
        "NAME": {
            "content": "at, batch, atq, atrm - queue, examine, or delete jobs for later execution\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "at [-V] [-q queue] [-f file] [-u username] [-mMlv] timespec ...\nat [-V] [-q queue] [-f file] [-u username] [-mMkv] [-t time]\nat -c job [...]\nat [-V] -l [-o timeformat] [job ...]\natq [-V] [-q queue] [-o timeformat] [job ...]\nat [-rd] job [...]\natrm [-V] job [...]",
            "subsections": [
                {
                    "name": "batch",
                    "content": ""
                },
                {
                    "name": "at -b",
                    "content": ""
                }
            ]
        },
        "DESCRIPTION": {
            "content": "at  and  batch read commands from standard input or a specified file which are to be executed\nat a later time, using /bin/sh.\n\nat      executes commands at a specified time.\n\natq     lists the user's pending jobs, unless the user is the superuser; in that case, every‐\nbody's  jobs  are  listed.  The format of the output lines (one for each job) is: Job\nnumber, date, hour, queue, and username.\n\natrm    deletes jobs, identified by their job number.\n\nbatch   executes commands when system load levels permit; in other words, when the load aver‐\nage drops below 1.5, or the value specified in the invocation of atd.\n\nAt  allows  fairly  complex  time specifications, extending the POSIX.2 standard.  It accepts\ntimes of the form HH:MM to run a job at a specific time of day.  (If  that  time  is  already\npast,  the  next  day is assumed.)  You may also specify midnight, noon, or teatime (4pm) and\nyou can have a time-of-day suffixed with AM or PM for running in the morning or the  evening.\nYou  can  also  say what day the job will be run, by giving a date in the form month-name day\nwith an optional year, or giving a date of the form MMDD[CC]YY, MM/DD/[CC]YY, DD.MM.[CC]YY or\n[CC]YY-MM-DD.   The specification of a date must follow the specification of the time of day.\nYou can also give times like now + count time-units, where the  time-units  can  be  minutes,\nhours, days, or weeks and you can tell at to run the job today by suffixing the time with to‐‐\nday and to run the job tomorrow by suffixing the time with tomorrow.\n\nFor example, to run a job at 4pm three days from now, you would do at 4pm + 3 days, to run  a\njob  at 10:00am on July 31, you would do at 10am Jul 31 and to run a job at 1am tomorrow, you\nwould do at 1am tomorrow.\n\nIf you specify a job to absolutely run at a specific time and date in the past, the job  will\nrun  as  soon  as possible.  For example, if it is 8pm and you do a at 6pm today, it will run\nmore likely at 8:05pm.\n\nThe definition of the time specification can be found in /usr/share/doc/at/timespec.\n\nFor both at and batch, commands are read from standard input or the file specified  with  the",
            "subsections": [
                {
                    "name": "-f",
                    "content": "BASHVERSINFO, DISPLAY, EUID, GROUPS, SHELLOPTS, TERM, UID, and ) and the umask are retained\nfrom the time of invocation.\n\nAs at is currently implemented as a setuid program, other environment variables (e.g., LDLI‐‐\nBRARYPATH or LDPRELOAD) are also not exported.  This may change in the future.  As a  work‐\naround, set these variables explicitly in your job.\n\nAn  at  -  or batch - command invoked from a su(1) shell will retain the current userid.  The\nuser will be mailed standard error and standard output from his commands, if any.  Mail  will\nbe  sent  using  the  command  /usr/sbin/sendmail.  If at is executed from a su(1) shell, the\nowner of the login shell will receive the mail.\n\nThe superuser may use these commands in any case.  For other users, permission to use  at  is\ndetermined by the files /etc/at.allow and /etc/at.deny.  See at.allow(5) for details.\n",
                    "flag": "-f"
                }
            ]
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "-V",
                    "content": "",
                    "flag": "-V"
                },
                {
                    "name": "-q",
                    "content": "uses  the  specified  queue.   A queue designation consists of a single letter; valid\nqueue designations range from a to z and A to Z.  The a queue is the default  for  at\nand  the  b queue for batch.  Queues with higher letters run with increased niceness.\nThe special queue \"=\" is reserved for jobs which are currently running.\n\nIf a job is submitted to a queue designated with an uppercase letter, the job is  treated  as\nif  it  were  submitted to batch at the time of the job.  Once the time is reached, the batch\nprocessing rules with respect to load average apply.  If atq is given a  specific  queue,  it\nwill only show jobs pending in that queue.\n",
                    "flag": "-q"
                },
                {
                    "name": "-m",
                    "content": "",
                    "flag": "-m"
                },
                {
                    "name": "-M",
                    "content": "",
                    "flag": "-M"
                },
                {
                    "name": "-u",
                    "content": "Sends mail to username rather than the current user.\n",
                    "flag": "-u"
                },
                {
                    "name": "-f",
                    "content": "",
                    "flag": "-f"
                },
                {
                    "name": "-t",
                    "content": "",
                    "flag": "-t"
                },
                {
                    "name": "-l",
                    "content": "",
                    "flag": "-l"
                },
                {
                    "name": "-r",
                    "content": "",
                    "flag": "-r"
                },
                {
                    "name": "-d",
                    "content": "",
                    "flag": "-d"
                },
                {
                    "name": "-b",
                    "content": "",
                    "flag": "-b"
                },
                {
                    "name": "-v",
                    "content": "Times displayed will be in the format \"Thu Feb 20 14:50:00 1997\".\n",
                    "flag": "-v"
                },
                {
                    "name": "-c",
                    "content": "",
                    "flag": "-c"
                },
                {
                    "name": "-o",
                    "content": "",
                    "flag": "-o"
                }
            ]
        },
        "FILES": {
            "content": "/var/spool/cron/atjobs\n/var/spool/cron/atspool\n/proc/loadavg\n/var/run/utmp\n/etc/at.allow\n/etc/at.deny\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "at.allow(5), at.deny(5), atd(8), cron(1), nice(1), sh(1), umask(2).\n",
            "subsections": []
        },
        "BUGS": {
            "content": "The  correct  operation  of batch for Linux depends on the presence of a proc- type directory\nmounted on /proc.\n\nIf the file /var/run/utmp is not available or corrupted, or if the user is not logged  on  at\nthe time at is invoked, the mail is sent to the userid found in the environment variable LOG‐‐\nNAME.  If that is undefined or empty, the current userid is assumed.\n\nAt and batch as presently implemented are not suitable  when  users  are  competing  for  re‐\nsources.  If this is the case for your site, you might want to consider another batch system,\nsuch as nqs.\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "At was mostly written by Thomas Koenig.\n\n\n\n2009-11-14                                        AT(1)",
            "subsections": []
        }
    },
    "summary": "at, batch, atq, atrm - queue, examine, or delete jobs for later execution",
    "flags": [
        {
            "flag": "-V",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-q",
            "long": null,
            "arg": null,
            "description": "uses the specified queue. A queue designation consists of a single letter; valid queue designations range from a to z and A to Z. The a queue is the default for at and the b queue for batch. Queues with higher letters run with increased niceness. The special queue \"=\" is reserved for jobs which are currently running. If a job is submitted to a queue designated with an uppercase letter, the job is treated as if it were submitted to batch at the time of the job. Once the time is reached, the batch processing rules with respect to load average apply. If atq is given a specific queue, it will only show jobs pending in that queue."
        },
        {
            "flag": "-m",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-M",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-u",
            "long": null,
            "arg": null,
            "description": "Sends mail to username rather than the current user."
        },
        {
            "flag": "-f",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-t",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-l",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-r",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-d",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-b",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-v",
            "long": null,
            "arg": null,
            "description": "Times displayed will be in the format \"Thu Feb 20 14:50:00 1997\"."
        },
        {
            "flag": "-c",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-o",
            "long": null,
            "arg": null,
            "description": ""
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "at.allow",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/at.allow/5/json"
        },
        {
            "name": "at.deny",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/at.deny/5/json"
        },
        {
            "name": "atd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/atd/8/json"
        },
        {
            "name": "cron",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/cron/1/json"
        },
        {
            "name": "nice",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/nice/1/json"
        },
        {
            "name": "sh",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/sh/1/json"
        },
        {
            "name": "umask",
            "section": "2",
            "url": "https://www.chedong.com/phpMan.php/man/umask/2/json"
        }
    ],
    "tldr": {
        "source": "official",
        "description": "Execute commands once at a later time.",
        "examples": [
            {
                "description": "Create commands interactively and execute them in 5 minutes (press `<Ctrl d>` when done)",
                "command": "at now + 5 minutes"
            },
            {
                "description": "Create commands interactively and execute them at a specific time",
                "command": "at {{hh:mm}}"
            },
            {
                "description": "Execute a command from `stdin` at 10:00 AM today",
                "command": "echo \"{{command}}\" | at 1000"
            },
            {
                "description": "Execute commands from a given file next Tuesday",
                "command": "at -f {{path/to/file}} 9:30 PM Tue"
            },
            {
                "description": "List all queued jobs for the current user (same as `atq`)",
                "command": "at -l"
            },
            {
                "description": "View a specied job",
                "command": "at -c {{job_number}}"
            }
        ]
    }
}