На самом деле это единственный раздел про unix на этом форуме
Модераторы: /dev/random , Модераторы разделов
sedikpoll
Сообщения: 100
Сообщение
sedikpoll » 20.10.2010 15:34
Есть файл следующего содержания:
nano 1.txt
*.txt -большие файлы, гигабайты
Можно ли как то выполнять эти команды через определенный промежуток времени, не cron?
Т.е. выполняется cat 11.txt, через 3 секунды завершаем эту задачу (процесс) и начинаем выполнять cat 22.txt, затем опять через 3 секунду завершаем эту задачу (процесс) и т.д.
Babusha
Сообщения: 203
ОС: Убунту
Сообщение
Babusha » 20.10.2010 16:02
sedikpoll
Сообщения: 100
Сообщение
sedikpoll » 20.10.2010 16:53
Babusha, не совсем то.
сейчас у меня вышло вот так
Код: Выделить всё
cat 11.txt & sleep 3s;killall cat
cat 22.txt & sleep 3s;killall cat
Все это в одном файле, не знаю как сделать что бы он брал эти команды из файла по очереди и выполнял.
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux
Сообщение
watashiwa_daredeska » 20.10.2010 17:15
Есть утилитка timeout. В Debian lenny она в отдельном пакете, а в Debian squeeze/sid уже в coreutils.
Rootlexx
Бывший модератор
Сообщения: 4462
Статус: GNU generation
ОС: Debian GNU/Linux
Сообщение
Rootlexx » 20.10.2010 17:26
sedikpoll писал(а): ↑ 20.10.2010 16:53
Все это в одном файле, не знаю как сделать что бы он брал эти команды из файла по очереди и выполнял.
Код: Выделить всё
declare -r TIMEOUT=3;
while read -a comm_line; do
timeout $TIMEOUT "${comm_line[@]}";
done < файл_команд