Выполнение команд из файла через промежуток

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

sedikpoll
Сообщения: 100

Выполнение команд из файла через промежуток

Сообщение sedikpoll »

Есть файл следующего содержания:
nano 1.txt

Код: Выделить всё

cat 11.txt
cat 22.txt

*.txt -большие файлы, гигабайты

Можно ли как то выполнять эти команды через определенный промежуток времени, не cron?
Т.е. выполняется cat 11.txt, через 3 секунды завершаем эту задачу (процесс) и начинаем выполнять cat 22.txt, затем опять через 3 секунду завершаем эту задачу (процесс) и т.д.
Спасибо сказали:
Аватара пользователя
Babusha
Сообщения: 203
ОС: Убунту

Re: Выполнение команд из файла через промежуток

Сообщение Babusha »

Код: Выделить всё

cat 11.txt
sleep 3
cat 22.txt
sleep 3
Спасибо сказали:
sedikpoll
Сообщения: 100

Re: Выполнение команд из файла через промежуток

Сообщение sedikpoll »

Babusha, не совсем то.

сейчас у меня вышло вот так

Код: Выделить всё

cat 11.txt & sleep 3s;killall cat
cat 22.txt & sleep 3s;killall cat

Все это в одном файле, не знаю как сделать что бы он брал эти команды из файла по очереди и выполнял.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Выполнение команд из файла через промежуток

Сообщение watashiwa_daredeska »

Есть утилитка timeout. В Debian lenny она в отдельном пакете, а в Debian squeeze/sid уже в coreutils.
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4462
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Выполнение команд из файла через промежуток

Сообщение Rootlexx »

sedikpoll писал(а):
20.10.2010 16:53
Все это в одном файле, не знаю как сделать что бы он брал эти команды из файла по очереди и выполнял.

Код: Выделить всё

declare -r TIMEOUT=3;
while read -a comm_line; do
  timeout $TIMEOUT "${comm_line[@]}";
done < файл_команд
Спасибо сказали: