2017-04-13 6 views
0

In unserem eingebetteten System haben wir udev richtig eingerichtet, um ein Skript in /etc/udev/scripts/mount.sh auszuführen. Das funktioniert sehr gut. In diesem Skript können wir jedoch keine Anwendung erfolgreich ausführen.Eine Anwendung kann nicht vom udev-Skript ausgeführt werden

Das ist sehr seltsam. Wir haben versucht, diesen Anwendungsaufruf in einem Skript zu schreiben, sagen wir test.sh. Wenn wir test.sh vom udev-Skript (mount.sh) aufrufen, passiert nichts. Es funktioniert nur, wenn wir test.sh von der Shell aufrufen.

Weiß jemand, was ist das Problem hier?

Aktualisiert: test.sh wie folgt aussieht:

#!/bin/sh 
/usr/local/app/appipc "[header]usb,add" 

appipc nur eine einfache Qt-Anwendung ist QLocalSocket zu verwenden, um einen lokalen Server mit Namen zu verbinden. Wenn wir dieses Skript in der Shell ausführen, funktioniert es. Aber nicht von udev-Skript (mount.sh).

+0

würden Sie die Skriptfehlermeldung teilen, was es sagt, wenn Sie laufen? es läuft nie – LethalProgrammer

+0

Das Skript läuft gut in der Shell, so dass es keine Fehlermeldung gibt. Meinst du, wenn es von udev Skript ausgeführt wurde? Ich bin nicht sicher, wie man den von dort erzeugten Fehler ermittelt. – wthung

+0

Haben Sie das Systemprotokoll getestet? –

Antwort

-1

Schließlich haben wir herausgefunden, dass die Qt-lib nicht korrekt geladen werden konnte, wenn wir eine Qt-Anwendung von udev-Skript ausführen. Deshalb bezweifeln wir, dass es nie läuft. Wenn wir eine reguläre C-Anwendung ausführen, funktioniert alles gut!

Das ist irgendwie dumm und nachlässig von uns! Wir sollten dies im Voraus berücksichtigen. Danke an alle für die Zeit.

Verwandte Themen