На этот вопрос уже есть ответ здесь:
Есть ли способ запустить команду для определенного количества времени, а затем убить его?
Пример 1:
Я хочу воспроизвести песню в cvlc
в течение 1 минуты, а затем остановиться. (песня длиннее 1 мин).
Пример 2:
Я хочу запустить команду cmatrix
в течение 30 секунд, а затем остановить ее.
Эти timeout
команда создается для точно этого. Выполнять Ваш cvlc
команда в течение 1 минуты:
timeout 1m cvlc-command
период времени может использовать строки d в течение многих дней, h в течение многих часов, m в течение многих минут и s в течение многих секунд. Если никакая измерительная буква времени не дана, значение по умолчанию является секундами.
А полезная опция --preserve-status
, который сделает выход команды тайм-аута с кодом состояния управляемой команды, даже если это будет уничтожено. Если эта опция не будет использоваться, то код состояния будет кодом состояния управляемой команды, если никакой тайм-аут не произошел, или 124 если приведенная к таймауту команда.
Другая полезная опция, если необходимо быть очень уверены сервис, остановилась, должен использовать --kill-after=<time>
, который отправит другой сигнал уничтожения в команду, если команда не зашла в новый предел, установленный временем