expect
предоставляет инструмент unbuffer
, который вы можете использовать для решения этой проблемы. Он будет подключаться к вашему долго -работающему ffmpeg
процессу с помощью псевдотерминала, что заставляет систему действовать так, как если бы она была интерактивной, а не использовала буфер 4K, который обычно включают в себя конвейеры :
$ unbuffer ffmpeg [...] | grep [...] | awk [...]
Кроме того, вы можете объединить grep
и awk
в одну операцию:
Вместо:
[...] | grep freezedetect | awk '{print $4,$5}' | tr -d, | grep lavfi
Вместо этого вы можете:
[...] | awk '/freezedetect/ && ( $4 /lavfi/ || $5 /lavfi/ ) {print $4,$5}' | tr -d,
sudo
— утилита для выполнения команды от имени другого пользователя. Итак, если у вас есть привилегии суперпользователя -, тогда вы (ваш текущий пользователь )можете запустить команду, например,. пользователь root
-. Поэтому вам нужно использовать только тот пароль, который вы также используете для входа в систему.
Но может случиться так, что у вас нет привилегий суперпользователя -. Это определено в корневом -единственном доступном для чтения файле /etc/sudoers
. Там вы найдете строку, похожую на
%sudo ALL=(ALL:ALL) ALL
(, хотя вместо sudo
можно использовать другое имя группы, например. wheel
, в зависимости от вашего дистрибутива ). Любой пользователь из этой группы может выполнить команду sudo
-.
Если вы не можете запустить sudo
, возможно, вы не являетесь частью этой группы (или вы только что стали частью группы, и вам необходимо выйти из системы, а затем войти снова ).