同じコマンドと同じバイナリファイルで実行されている2つのプロセスの動作が異なる

同じコマンドと同じバイナリファイルで実行されている2つのプロセスの動作が異なる

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=

コマンドの前に環境変数を設定するためのシェル スクリプトを作成しました。

export var1=value
export var2=value
export var3=value
.
.
.
my_command_here

まだ問題が存在します。

理由が分からない。頭が痛くなる。

どのような助けでも大歓迎です。

答え1

strace ffmpeg実行して、プログラムが中止されたときにどのシステム コールが呼び出されているかを確認し、詳細情報を取得することもできます。

この問題については、2 番目のプログラムを実行するためのリソース (メモリなど) が不足していることが原因ではないでしょうか?

関連情報