Вы не можете понизиться одна мелкая гранулярность с кроном. То, что можно сделать, каждую минуту, запускается скрипт, который выполняет задание, ожидает 15 секунд и повторения. Следующая crontab строка запустится some_job
каждые 15 секунд.
* * * * * for i in 0 1 2; do some_job & sleep 15; done; some_job
Этот сценарий предполагает, что задание никогда не будет занимать больше чем 15 секунд. Следующий немного более сложный сценарий заботится о не выполнении следующего экземпляра, если Вы заняли слишком много времени работать. Это полагается date
поддержка %s
формат (например, GNU или Busybox, таким образом, Вы будете в порядке на Linux). При помещении его непосредственно в crontab отметьте это %
символы должны быть записаны как \%
в crontab строке.
end=$(($(date +%s) + 45))
while true; do
some_job &
[ $(date +%s) -ge $end ] && break
sleep 15
wait
done
[ $(date +%s) -ge $(($end + 15)) ] || some_job
Я однако отмечу, что, если необходимо выполнять задание так же часто как каждые 15 секунд, крон является, вероятно, неправильным подходом. Хотя нельды хороши с недолгими процессами, издержки запуска программы каждые 15 секунд могли бы быть ненезначительными (в зависимости от того, как требование программы). Разве Вы не можете запустить свое приложение все время и иметь его, выполняют его задачу каждые 15 секунд?
“Ошибка ввода/вывода” для файла, это хранится на диске обычно, указывает на аппаратную ошибку на диске. Выполните это (Вы не должны быть корнем):
md5sum libcanberra-gtk.so.0
Если Вы получаете “ошибку ввода/вывода”, взгляд в Ваших журналах ядра /var/log/kern.log
. Вы, вероятно, будете видеть набор сообщений, указывающих на ошибки диска. Я не знаю наизусть, на что похожи эти сообщения, но они, вероятно, упомянут ata
и sda
.
Также возможно, что причина проблемы состоит в том, что Вы пытаетесь запустить эти программы как корень. Большинство программ GUI не предназначено, чтобы быть выполненным как корень. Я не знаю, почему Вы получили бы ошибку ввода-вывода, хотя (я буду ожидать что-то как “никакой такой файл или каталог”).
Таким образом, вот то, что я думаю, что Вы испытываете: Все работает, кроме настольных частей. В основном, никакие панели, никакие значки на рабочем столе, и т.д.
Я не совсем уверен, как зафиксировать панели, так как это зависело бы от Вашей настольной среды, но для значков на рабочем столе, это - вероятно, Наутилус, являющийся жадиной.
Только запустите Наутилус (nautilus &
в работах терминала), и необходимо видеть, что значки на рабочем столе раскрываются назад.
Firefox работает, потому что загружается без поддержки модуля canberra-gtk (libcanberra используется для воспроизведения простых звуков), а gnome-panel отказывается даже запускаться без него.
У меня был похожий эффект на ноутбуке с двойной графикой, строка меню/панель коротких замыканий работала на одном GPU, в то время как фоновый иконки рабочего стола работали на втором (единство на убунту), и я видел только последний, но я не думаю, что это ваша проблема в данном случае.[118084].