Zwei Prozesse zeigen unterschiedliches Verhalten, wenn sie mit demselben Befehl und derselben Binärdatei ausgeführt werden

Zwei Prozesse zeigen unterschiedliches Verhalten, wenn sie mit demselben Befehl und derselben Binärdatei ausgeführt werden

Es gibt eine App auf dem Ubuntu-Server, die eine FFMPEG-Instanz ausführt. Diese Instanz funktioniert weiterhin einwandfrei.

Aber wenn ich denselben Befehl mit derselben ausführbaren Binärdatei im Terminal ausführe, wird es nach 3 oder 4 Minuten mit der Meldung „Konvertierung fehlgeschlagen!“ beendet.

Beide Prozesse werden als Root-Benutzer ausgeführt und verwenden auch dieselben .soBibliotheken.

Ich habe mir auch die Umgebungsvariablen des richtigen Prozesses angesehen mit 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=

Ich habe ein Shell-Skript erstellt, um Umgebungsvariablen vor meinem Befehl festzulegen:

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

Das Problem besteht weiterhin.

Ich kann nicht herausfinden, warum. Und es macht mir Kopfschmerzen.

Jede Hilfe wird geschätzt.

Antwort1

Vielleicht können Sie nachsehen strace ffmpeg, welcher Systemaufruf beim Abbruch des Programms ausgeführt wird, um weitere Informationen zu erhalten.

Was das Problem betrifft, vermute ich, dass es daran liegen kann, dass die Ressource (z. B. der Speicher) nicht ausreicht, um das zweite Programm auszuführen?

verwandte Informationen