Якщо і Як можливо, щоб Terminalзаставити програму запускатися протягом 30 секунд, перш ніж примусово закрити та повторити журнали цього процесу?
Якщо і Як можливо, щоб Terminalзаставити програму запускатися протягом 30 секунд, перш ніж примусово закрити та повторити журнали цього процесу?
Відповіді:
Можливо, ви хочете скористатися командою timeout .
timeout -k 10s 30s command
яка запустить команду протягом 30-х років і вб'є її через 10 секунд, якщо вона все ще працює. - Перевірте сторінку, щоб отримати більше варіантів.
watchвражає мене дуже цікавою командою. Може стати в нагоді ...
Ось два способи (але timeoutкоманда, запропонована mcantsin , напевно, краща):
Запустіть команду у фоновому режимі, таким чином зберігається її PID, $!і ви можете використовувати її для вбивства через вказаний час:
command &
sleep 30 && kill $!
Запустіть команду та використовуйте pkillабо killallвбийте її. ПОПЕРЕДЖЕННЯ. Це передбачає, що працює лише одна команда з цим ім'ям, я використовую firefoxяк приклад:
firefox &
sleep 30 && pkill firefox
Я не маю поняття, що ви маєте на увазі під "журналами цього процесу", але стандартна помилка процесу може бути збережена у файл із command 2> logfile.txt.