Аватар для algri14
3 / 22 / 0
Регистрация: 14.02.2026
Сообщений: 125
Записей в блоге: 1

Утилита "at", перевод man'a

31.03.2026, 22:01. Показов 1682. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю перевод утилиты "at"(1) и её демона "atd"(8), есть вопросы, которые я не совсем понимаю или не совсем правильно даю формулировку.
1)
As at is currently implemented as a setuid program, other environment variables (e.g., LD_LIBRARY_PATH or LD_PRELOAD) are also not exported. This may change in the future. As a workaround, set these variables explicitly in your job.

Так как утилита "at" использует 'setuid' — бит разрешения на файл, другие переменные окружения (например, B<LD_LIBRARY_PATH> или B<LD_PRELOAD>) не передаются. В будущем это может измениться. В качестве обходного решения укажите эти переменные явно в вашем задании.

Про переменные LD_LIBRARY_PATH и LD_PRELOAD имею только общее представление, поэтому не могу дать точную формулировку, — эти переменные "не передаются" (так правильно?) или "не экспортируются" (английская фраза) ?
На сколько я понял (из интернета), — "не передаются" будет понятнее и правильно по смыслу.

2)
An "at" - or "batch" - command invoked from a su(1) shell will retain the current userid. The user will be mailed standard error and standard output from his commands, if any.
Mail will be sent using the command /usr/sbin/sendmail. If at is executed from a su(1) shell, the owner of the login shell will receive the mail.

Команда "at" или "batch", вызванная с помощью su(1) (без смены оболочки 'su'), сохранит идентификатор текущего пользователя. Ему по электронной почте будут отправлены стандартные сообщения об ошибках и стандартный вывод его команд, если таковые имеются. Письмо будет отправлено при помощи /usr/bin/sendmail. Если команда "at" выполняется с помощью su(1) от другого пользователя (т.е. со сменой оболочки 'su -'), то письмо получит новый владелец оболочки.

Здесь я понимаю о чём речь, поэтому дал не дословный перевод, а с пояснением, но мог ошибиться с формулировкой.
Подскажите или поправьте, в переводе смысл верный? только немного с подробностями (а не просто да или нет).

зы: завтра могу дать весь файл man'а "at"
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2026, 22:01
Ответы с готовыми решениями:

утилита отправки письма на email
всем привет. скажите, какая из никсовых утилит позволяет отправить письмо на email? что-то типа...

Netconf что это за утилита ?
,Добрый день для настройка sendmail решил обратиться к утилите netconf в мануале написанно что она...

Утилита man: как вывести все команды раздела 2?
Мне иногда хочется побольше почитать про системные вызовы функции linux. Для этого,я так понял,...

25
 Аватар для algri14
3 / 22 / 0
Регистрация: 14.02.2026
Сообщений: 125
Записей в блоге: 1
26.04.2026, 01:15  [ТС]
Студворк — интернет-сервис помощи студентам
Вложение, вариант №2
Вложения
Тип файла: zip at_gz_xz-2.zip (8.9 Кб, 3 просмотров)
0
 Аватар для algri14
3 / 22 / 0
Регистрация: 14.02.2026
Сообщений: 125
Записей в блоге: 1
30.04.2026, 00:09  [ТС]
Выкладываю 3-й вариант мана, уже отправил его на salsa.debian.org, далее он пойдёт в дистрибутивы.

Немного изменил форматирование и кое-какие фразы.

Раздел ЛОКАЛЬ есть только в моём личном man'е (и здесь во вложении), в дистрибутивах его не будет.

зы: нашёл маны в ROSA-13, чудят ребята, совсем не смотрят что пакуют в пакеты, при том что дистрибутив имеет сертификат ФСТЭК, а к более новой версии "at version 3.2.5" до сих пор старый ман, т.е. ещё от 2002 года, переведённый Виктором Ерёминым в 2007 году, хотя для английской локали версия мана установлена правильная, уже от 2009 года. Там же старый ман для "atq", в новом они одинаковы, что для "at", что для "atq", для демона "atd" вообще нет перевода. Но зато зачем-то сделали отдельный перевод для batch, который наполовину неправильный.
цитаты из man'а ROSA-13
-q очередь
Использовать заданную очередь. Структура очереди содержит одну букву; правильные структуры очереди лежат в диапазонах от a до z и от A до Z. Очередь a - это очередь по умолчанию для at, и очередь b - это очередь по умолчанию для batch. Если задание ставится в очередь, начинающуюся с заглавной буквы, то задание трактуется так, как если бы оно было установлено для batch в это время. Если для atq задается определенная очередь, то atq будет показывать только задания в этой очереди.

Для обоих команд at и batch возможно чтение из стандартного потока ввода или из выполняемого файла, заданного c опцией -f. Рабочая директория, окружение (исключая переменные TERM, DISPLAY и _) и umask запоминаются из времени вызова. Команды at- и batch- вызываются с помощью команды su(1), которая запомнит текущий идентификатор пользователя. В противном случае, пользователь будет оповещен почтой, посылаемой на стандартный поток вывода и стандартный файл ошибок. Почта будет послана, используя команду /usr/sbin/sendmail. Если at запускается с помощью su(1), то получит почту пользователь, запустивший команду su(1).

В старом мане Виктор Ерёмин добавил пояснение к опции времени (в старом формате):
-t время
Указать время задачи, используя формат touch(1). Аргумент должен быть указан в виде [[ВВ]ГГ]ММДДччмм[.СС], где каждая пара букв обозначает следующее:

ВВ две первых цифры года (век).
ГГ две последние цифры года.
ММ месяц года, с 1 по 12.
ДД день месяца, с 1 по 31.
чч час, с 0 по 23.
мм минуты, с 0 по 59.
СС секунды, с 0 по 61.

Если ВВ и ГГ не указаны, используется текущий год. Если СС не указаны, используется 0.


В общем утилита "at" установлена новая, а ман не то, что старый, а вообще к утилите не подходит. Печально, но зато гонора у админа форума "ViktoR2007" выше крыши.
Вложения
Тип файла: zip at_gz_xz_3.zip (8.9 Кб, 0 просмотров)
1
 Аватар для algri14
3 / 22 / 0
Регистрация: 14.02.2026
Сообщений: 125
Записей в блоге: 1
01.05.2026, 17:10  [ТС]
Имею вопрос по пункту мана:
If you specify a job to absolutely run at a specific time and date in the past, the job will run as soon as possible. For example, if it is 8pm and you do a at 6pm today, it will run more likely at 8:05pm.

Если вы укажете, что задание должно выполняться в определенное время и в определенную дату в прошлом, оно будет выполнено как можно скорее. Например, если сейчас 8 часов вечера, а вы выполняете задание в 18:00 сегодня, оно
, скорее всего, будет выполнено в 20:05.
Этот пункт я проверил у себя чисто практическим путём и изменил на:
В случае истечения назначенного времени или даты выполнения задания (компьютер был выключен или пользователь вышел из сеанса), оно будет выполнено сразу же после вашего входа в систему.
Вообще-то при выполнении заданий программой "at" используется команда atrun, которая запускается в зависимости от параметров в в файле /etc/crontab. В моём дистрибутиве Mageia-9 в нём прописано:
Code
1
2
3
4
5
6
7
8
9
10
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
 
# run-parts
01 * * * * root nice -n 19 run-parts --report /etc/cron.hourly
02 4 * * * root nice -n 19 run-parts --report /etc/cron.daily
22 4 * * 0 root nice -n 19 run-parts --report /etc/cron.weekly
42 4 1 * * root nice -n 19 run-parts --report /etc/cron.monthly
т.е. /etc/cron.hourly каждый час на 1-й минуте
Касательно "at", это выполнение пропущенного по времени задания у меня происходит сразу же после входа в сеанс юзера, а не просто после входа в систему, т.е.(если в сеанс другого юзера, то задание не будет выполняться).

У меня "at" выполняет задание сразу же, без задержки в 5 минут.

Получается, что выполнение пропущенных по времени заданий "at", зависит от настроек crontab и пояснение в мане не совсем верное, которое я изменил правильно, но стоит добавить сноску, — "зависит от настроек /etc/crontab".
0
 Аватар для algri14
3 / 22 / 0
Регистрация: 14.02.2026
Сообщений: 125
Записей в блоге: 1
02.05.2026, 08:04  [ТС]
Цитата Сообщение от algri14 Посмотреть сообщение
Вообще-то при выполнении заданий программой "at" используется команда atrun,
Упустил из виду, что теперь это демон atd
Bash
1
2
3
4
5
6
7
8
9
10
11
12
# systemctl status atd
● atd.service - Job spooling tools
     Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; preset: enabled)
     Active: active (running) since Sat 2026-05-02 07:19:41 MSK; 42min ago
   Main PID: 919 (atd)
      Tasks: 1 (limit: 9471)
     Memory: 252.0K
        CPU: 2ms
     CGroup: /system.slice/atd.service
             └─919 /usr/sbin/atd -f
 
мая 02 07:19:41 localhost systemd[1]: Started atd.service.
0
Нарушитель
7097 / 2328 / 353
Регистрация: 10.12.2013
Сообщений: 8,047
11.05.2026, 16:41
Цитата Сообщение от algri14 Посмотреть сообщение
ведь многие на своём языке общаются наполовину на русском и могучем мате, заменяя им целые абзацы.
вот!
этим и стоит заняться - компактный man на базе мата, его и зиповать не потребуется, он зипованный по природе,
как, собственно, уже и было отмечено.

( и да, это не бесплатный совет, настаиваю на 17% от прибыли после реализации )
0
 Аватар для algri14
3 / 22 / 0
Регистрация: 14.02.2026
Сообщений: 125
Записей в блоге: 1
11.05.2026, 20:09  [ТС]
Цитата Сообщение от volodin661 Посмотреть сообщение
этим и стоит заняться - компактный man на базе мата, его и зиповать не потребуется, он зипованный по природе,
Да, тут не поспоришь , к тому же в принципе исключает ошибки перевода
Цитата Сообщение от volodin661 Посмотреть сообщение
это не бесплатный совет, настаиваю на 17% от прибыли после реализации
цензура не пропустит,
опять же дамы тоже читают маны, как то неудобно перед ними

зы: есть в сети А.С. Пушкин на "фене", так вот ей до русского и могучего как до луны

Добавлено через 3 часа 3 минуты
Цитата Сообщение от volodin661 Посмотреть сообщение
настаиваю на 17% от прибыли после реализации
а почему именно 17% ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.05.2026, 20:09

Как работает утилита cat?
всем здарсте ) подскажите пожалуйста такую вещь : $cat station tape pens &gt; suppy а потом хочу ...

Для чего предназначена утилита iaxflood
:(Здравствуйте. Для чего предназначена утилита iaxflood? Облазил всю «паутину» обширного пояснения...

Утилита dd
Добрый день хочу через эту утилиту записать образ на флешку. dd...

Утилита PSFTP, как скачать папку вместе с содержимым?
День добрый, подскажите новичку пожалуйста, как с помощью PSFTP скачать папку вместе с содержимым?...

Утилита awk
1. В файле query1 определить сумму зарплаты, которая встречается чаще других. Использовать утилиту...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Опции темы

Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru