У меня есть программа на C ++, которая должна планировать запуск различных будущих процессов единовременно.
Разработка ведется на Linux, поэтому очевидным выбором является использование команды at.;Я не заинтересован в написании своего собственного планировщика заданий!
Однако я неохотно делаю процесс ОС из моей программы, чтобы напрямую вызывать исполняемый файл 'at' - поскольку это грязно и громоздко.
С помощью cron я знаю, что вы можете записывать задания в виде файлов в /etc/cron.d без необходимости переходить в crontab.Однако, похоже, что для 'at' такой возможности не существует.
Небольшое исследование привело меня к выводу, что я мог бы просто записывать файлы в / var / spool / cron / atjobs, используяформант axxxxxyyyyyyyy где x = идентификатор задания и y = время шестнадцатеричной эпохи в минутах - но это вряд ли в духе безопасности Linux или соглашения .... плюс формат имени файла не переносим во всех системах * nix, если я хочуиспользуйте другую операционную систему.
Конечно, я мог бы использовать cron, но он не подходит для одноразовых заданий, так что это не кажется мне хорошим решением.Также я не хочу брать источник этих инструментов и вносить необходимые фрагменты в мою программу - это тоже не совсем переносимо.
Поэтому мой вопрос - хочу ли я планировать выполнение будущих заданий нас учетом времени и даты для одного запуска может кто-нибудь предложить программно «хороший» способ взаимодействия с «at» или демоном cron напрямую, без необходимости переходить на ОС в C ++ .... или есть другой стандартный инструмент, который обеспечивает это