Возможный дубликат:
Как заставить cron запускать приложение с графическим интерфейсом Java?
Я постоянно использую checkgmail на работе, но у этого приложения есть утечка памяти, и через неделю (я никогда не выключал свою рабочую машину) или около того, без перезагрузки, он потребляет около 1 ГБ ОЗУ.
Я думал, что буду запускать скрипт для перезапуска checkgmail каждую полночь, чтобы мне не пришлось делать это вручную. Вот что я сделал:
Я создал скрипт в /home /kajman /bin /reset_checkgmail
DISPLAY=:0
/usr/bin/killall checkgmail
/usr/bin/checkgmail -no_cookies
Затем с помощью crontab -e
я написал:
00 00 * * 0,1,2,3,4,5 /home/kajman/bin/reset_checkgmail
Я также попробовал это:
00 00 * * 0,1,2,3,4,5 /usr/bin/checkgmail -no_cookies & > /home/kajman/cron_checkgmail.log
Конечно, во время тестирования я изменил первые два значения в соответствии с моим текущим временем.
Проблема в том, что сценарий killall
работает (я вижу, что это убивает мой экземпляр checkgmail), но тогда ничего не происходит. То же самое со второй командой.
Скрипт отлично работает из командной строки без cron.
Что я делаю неправильно?
РЕДАКТИРОВАТЬ
Я нашел ответ здесь.
Мне пришлось изменить запись в crontab следующим образом:
00 00 * * 0,1,2,3,4,5 env DISPLAY=:0 /home/kajman/bin/reset_checkgmail