동일한 명령과 동일한 바이너리 파일을 사용하여 실행하는 동안 두 프로세스의 동작이 다릅니다.

동일한 명령과 동일한 바이너리 파일을 사용하여 실행하는 동안 두 프로세스의 동작이 다릅니다.

FFMPEG 인스턴스를 실행하는 Ubuntu 서버에 앱이 있습니다. 해당 인스턴스는 계속 잘 작동합니다.

하지만 터미널에서 동일한 바이너리 실행 파일로 동일한 명령을 실행하면 3~4분 후에 'Conversion failed!' 로그와 함께 종료됩니다.

두 프로세스 모두 루트 사용자로 실행되며 동일한 .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어쩌면 더 많은 정보를 얻기 위해 프로그램이 중단되었을 때 어떤 시스템 호출이 호출되는지 실행하고 확인할 수 있습니다 .

문제는 리소스(예: 메모리)가 두 번째 프로그램을 실행하기에 충분하지 않기 때문일 수 있다고 생각합니다.

관련 정보