Команда timeout имеет опцию продолжительности, которую вы не используете.
Согласно руководству:
timeout [OPTION] DURATION COMMAND [ARG]...
В любом случае, конструкция, которую вы используете, не будет работать. (например, использование двух отдельных команд).
На самом деле я рекомендую использовать команду timelimit, которая гораздо более последовательна. Установите ее с помощью:
sudo apt-get install timelimit
Из руководства:
timelimit [-pq] [-S killsig] [-s warnsig] [-T killtime] [-t warntime] команда [аргументы ...]
Ссылки:
man timelimit
http://manpages.ubuntu.com/manpages/utopic/man1/timelimit.1.html
Реальный пример использования из моего скрипта:
timelimit -q -t1 -T30 command
I personally think that it is better to let host FS (btrfs in my case) handle handle sync by itself, so sync ption is better. Am I right?
Если я вас правильно понял, то нет :-). (Но это не совсем понятно, и, возможно, вы хотели написать «асинхронный вариант лучше», а не «синхронный вариант» ).
Устройство замыкания на себя (, используемое для монтирования образов файловой системы ), учитывает запросы синхронизации, эффективно преобразовывая их в fsync()
. Затем базовая файловая система преобразует их обратно в запросы синхронизации на блочном устройстве или что-то еще. Таким образом, даже для образа файловой системы добавление опции sync
сделает все операции записи полностью синхронными (и, следовательно, медленнее ).
Если у вас нет другой причины, вы можете выполнить монтирование без этих параметров и оставить значение по умолчанию async
. Все запросы fsync()
внутри смонтированного образа будут выполняться как обычно.