На сервере Ubuntu есть приложение, которое запускает экземпляр FFMPEG. Этот экземпляр продолжает работать нормально.
Но когда я запускаю ту же команду с тем же исполняемым двоичным файлом в терминале, он завершает работу через 3 или 4 минуты с сообщением в журнале «Conversion failed!».
Оба процесса запускаются от имени пользователя root и используют одни и те же .so
библиотеки.
Я также просмотрел переменные окружения правильного процесса с помощью tr '\0' '\n' < /proc/62243/environ
:
LANG=en_US
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOME=/root
LOGNAME=root
USER=root
SHELL=/bin/sh
INVOCATION_ID=89a8c6c4b24d4a1b919e0cf529366876
JOURNAL_STREAM=9:308
LD_LIBRARY_PATH=/tmp/_MEIDvDVDH
AV_LOG_FORCE_COLOR=
AV_LOG_FORCE_256COLOR=
Я создал скрипт оболочки для установки переменных среды перед моей командой:
export var1=value
export var2=value
export var3=value
.
.
.
my_command_here
Проблема все еще существует.
Я не могу понять почему. И это стало головной болью.
Любая помощь будет оценена по достоинству.
решение1
Возможно, вы сможете запустить strace ffmpeg
и посмотреть, какой системный вызов был вызван в момент прерывания программы, чтобы получить больше информации.
Что касается проблемы, то я предполагаю, что она может быть связана с тем, что ресурсов (например, памяти) недостаточно для запуска второй программы?