LINUX.ORG.RU

Как в bash зациклить выполнение команды?


0

0

Как в bash зациклить выполнение команды? Нужно, чтобы при остановки команды она снова запускалась; например tail -f somelog произвольно останавливается, а мне нужно, чтобы она постоянно крутилась... просто напрягает вручную перезапускать, т.к. часто вываливается...

anonymous

while true; do tail -f somelog; done

Только я не понял, с чего бы это tail "самопроизвольно останавливался". Гонишь ты похоже.

Может у тебя просто логи ротируются? :) Ну так тогда цикл не спасёт, tail-то на самом деле работает как работал, просто файл, который он читает, уже переименован.

Teak ★★★★★
()
Ответ на: комментарий от Teak

да, я на самом деле наврал немного :) есть просто скрипт, который раскрашивает логи в разные цвета, вот он то и вываливается...

anonymous
()
Ответ на: комментарий от anonymous

да, забыл, спасибо Teak`у за ответ, все работает :) только вот теперь другая проблема - как его остановить? =) ^C не помогает...

anonymous
()
Ответ на: комментарий от anonymous

Я несколькими Ctrl-C подряд такие команды убиваю. :) Если не спасёт - найди родительский shell и грохни его. :)

Teak ★★★★★
()
Ответ на: комментарий от Valmont

> Вы меня немного удивляете ;)

Это потому, что Вы невнимательно читаете топик. :)

Меня не спрашивали, как следить за ротирующимися логами. Я просто отвечал на поставленный вопрос, плюс высказал предположение, объясняющее наблюдаемый анонимусом глюк.

Teak ★★★★★
()
Ответ на: комментарий от Chubaka

Ну он для другого всё-таки, для того, чтоб из команды со статическим выводом делать аналог top'а. Чем и ценен. А тут while true самое оно. Ладно, это мелочи. :)

Teak ★★★★★
()
Ответ на: комментарий от anonymous

>есть просто скрипт, который раскрашивает логи в разные цвета, вот он то и вываливается...
Как это обычный текстовый лог можно раскрасить? :-)
а если не текстовый, то как его читать tail-ом?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.