Я хочу выполнить команду в течение установленного времени и получить вывод в файле. быть произведенным в файл может быть сделано с помощью command > file
и ограничение команды для выполнения только в течение установленного времени может быть сделано timeout 10 command
.
Но timeout 10 command > file
не дает вывода в файле.
кавычка из комментариев:
панель эха команды занимает меньше чем 10 секунд для завершения. Таким образом, тайм-аут ничего в основном не делает. Таким образом, это пишет в file.try некоторую команду, которые работают в течение больше, чем 10-х и дают тайм-аут 10 ему. Это затем не производит вывод в файле
, Это подразумевает, что Вы тестируете с различными командами. Вы печально не обеспечиваете точную команду, которую Вы пытаетесь выполнить.
Попытка выполнить этот рабочий пример. Если это работает существует что-то не так с Вашей командой. Вероятно, потому что это не генерирует вывод вообще, или вывод занимает больше времени, чем тайм-аут.
foo.sh:
#!/bin/bash
while :
do
echo foo;
sleep 2
done
команда:
timeout 10 ./foo.sh > foo.txt
foo.txt:
foo
foo
foo
foo
foo