Ubuntu 伺服器中有一個應用程序,它運行 FFMPEG 實例。該實例一直工作正常。
但是,當我在終端機中使用相同的二進位可執行檔運行相同的命令時,它會在 3 或 4 分鐘後退出,並顯示日誌「轉換失敗!」。
這兩個進程都以 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=
我創建了一個 shell 腳本來在命令之前設定環境變數:
export var1=value
export var2=value
export var3=value
.
.
.
my_command_here
問題仍然存在。
我不明白為什麼。這已經成為一個令人頭痛的問題。
任何幫助表示讚賞。
答案1
也許您可以運行strace ffmpeg
並查看程式中止時正在調用什麼系統呼叫以獲取更多資訊。
至於問題,我猜可能是由於資源(例如記憶體)不足以運行第二個程式?