Есть ли в Linux способ запустить задание cron на переднем плане (или в интерактивном режиме)? (У меня есть программа, которая периодически запускается, чтобы принимать пользовательский ввод и выполнять некоторую обработку. Поэтому я хочу запланировать ее как задание cron, которое может выполняться на переднем плане).
Linux: запустить задание cron на переднем плане
Ответы (4)
Попробуйте это на crontab
вашего пользователя:
@hourly DISPLAY=:0 xterm -e /path/to/my/script.sh
Он будет открывать (ежечасно) xterm
с выполнением вашего скрипта и выходить после выхода вашего скрипта. Конечно, вы должны изменить часть @hourly
в соответствии с вашими потребностями.
Для GUI
сценариев в cron
попробуйте следующую строку в shell
:
crontab -e
Затем в crontab
:
0 7 * * * DISPLAY=:0 /PATH/TO/SCRIPT
Предполагая, что вы используете X, вы всегда можете открыть окно на выбранном дисплее.
если у вас нет графического интерфейса и у вас есть только терминал, перенаправьте выход на tty, выполните «tty», и он вернет устройство, на которое вы перенаправите вывод, например, в Centos это будет что-то вроде /dev/pts /0 то в crontab -e пишешь 1 * * * * user sh/ПУТЬ/К/СКРИПТ› /dev/pts/0 настраиваешь время в crontab под свои нужды. Он будет работать только в том случае, если есть кто-то с открытым терминалом.
НО ЧТО ЛЮДИ ИЩУТ ПО НАЗВАНИЮ ВОПРОСА Linux: Запустить задание cron на переднем плане, ответ nohup command_to_run & 1 * * * * nohup user sh / PATH / TO / SCRIPT & nohup позволяет выполнять скрипт, как если бы это был открытый терминал и решает проблему выполнения crontab. Я имею в виду, когда мы создаем скрипт, например #! /бин/баш
эхо я придумываю, и мы ждем выхода эха, чтобы что-то с ним сделать. пример эхо я придумываю, если [[$? -gt 0]] затем сделайте что-нибудь с выводом echo
Ответ на эхо-выполнение получается через stdout в терминале tty, но из crontab нет tty и происходит сбой, и crontab не выполняет приложение. Это решается с помощью nohup. Подробнее...
cron
свяжется с вами? Открытие терминала, запуск приложения с графическим интерфейсом и т. д.? - person Renato Zannon   schedule 07.10.2012expect
tcl.tk/man/expect5.31 /expect.1.html, но я не уверен, что это хорошая идея. - person Basile Starynkevitch   schedule 07.10.2012