Если и как можно Terminal
заставить приложение работать в течение 30 секунд, после чего его принудительно закроют и отобразят логи этого процесса?
command-line
scripts
ИК-г
источник
источник
Ответы:
Возможно, вы захотите использовать команду timeout .
который будет запускать команду в течение 30 секунд и убивать ее через 10 секунд, если она все еще выполняется. - Проверьте man-страницу для большего количества вариантов.
источник
watch
кажется мне очень интересной командой. Может пригодиться ...Вот два способа (но
timeout
команда, предложенная mcantsin , вероятно, лучше):Запустите команду в фоновом режиме, таким образом, ее PID будет сохранен,
$!
и вы можете использовать его, чтобы убить ее через указанное время:Запустите команду и используйте
pkill
или,killall
чтобы убить ее. ВНИМАНИЕ: Предполагается, что выполняется только одна команда с таким именем, я используюfirefox
в качестве примера:Я понятия не имею, что вы подразумеваете под «журналами этого процесса», но стандартная ошибка процесса может быть сохранена в файл с помощью
command 2> logfile.txt
.источник