Не совсем так. Сигналы и т. д. обрабатываются драйвером терминала, поэтому оболочка на самом деле не знает, нажали ли вы буквальный ctrl -C или отправили ему тот же сигнал с kill
из другого окна, например.
Keystrokes -> Terminal -> Terminal driver -> Foreground process
Когда оболочка не является процессом переднего плана (, например, когда вы использовали ее для запуска интерактивной программы или вообще любого процесса переднего плана ), эта программа получает ввод с клавиатуры и любые сигналы от драйвера терминала..
Стандартный ввод исходит из терминала по умолчанию, но вы можете запустить оболочку с перенаправлением ввода, например, из файла или сетевого потока, и оболочка на самом деле не заметит разницы. Точно так же оболочка может перенаправлять стандартные потоки ввода, вывода и ошибок для своих дочерних процессов независимо от того, задействован ли вообще терминал.
Вероятно, ffprobe
— это то, что вам нужно. Он поставляется с пакетомffmpeg
(в debian и производным ), также вы можете загрузить и скомпилировать с дополнительными функциями из здесь .
Просто передайте файл в качестве аргумента, например
ffprobe miFile.mp3
и вы получите информацию о файле.
Для получения дополнительной информации вы можете проверить справочную страницу ffprobe
и, если вам интересно, также справочную страницу ffmpeg
. Обе программы очень мощные и могут многое
Проверьте эту ссылку для примеровffprobe