2017-04-13 36 views
0

우리의 임베디드 시스템에서는 /etc/udev/scripts/mount.sh에있는 스크립트를 실행하도록 udev를 올바르게 설정했습니다. 이것은 아주 잘 작동합니다. 그러나이 스크립트 내부에서 응용 프로그램을 성공적으로 실행할 수는 없습니다.udev 스크립트에서 응용 프로그램을 실행할 수 없습니다.

이것은 매우 이상합니다. 이 응용 프로그램 호출을 스크립트 (예 : test.sh)에 기록하려고했습니다. udev 스크립트 (mount.sh)에서 test.sh를 호출하면 아무 일도 일어나지 않습니다. 쉘에서 test.sh를 호출하는 경우에만 작동합니다.

누구에게 무슨 문제가 있는지 알고 있습니까?

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

appipc 이름으로 로컬 서버에 연결 QLocalSocket를 사용하는 간단한 Qt는 응용 프로그램이 단지입니다 :

업데이트 : 같은 test.sh 보인다. 쉘에서이 스크립트를 실행하면 작동합니다. 하지만 udev 스크립트 (mount.sh)가 아닙니다.

+0

실행할 때 스크립트 오류 메시지를 공유 하시겠습니까? 결코 실행되지 않습니다 – LethalProgrammer

+0

스크립트는 쉘에서 잘 실행되므로 오류 메시지가 없습니다. udev 스크립트에 의해 실행되었을 때를 의미합니까? 거기에서 생성 된 오류를 확인하는 방법을 잘 모르겠습니다. – wthung

+0

시스템 로그를 시도 했습니까? –

답변

-1

마지막으로 udev 스크립트에서 Qt 응용 프로그램을 실행하면 Qt 라이브러리를 올바르게로드 할 수 없다는 것을 알았습니다. 그것이 우리가 결코 실행되지 않을지 의심하는 이유입니다. 일반 C 응용 프로그램을 실행하면 모든 것이 잘 작동합니다!

이것은 바보 같으며 우리를 과실렀습니다. 우리는 이것을 미리 고려해야합니다. 시간 내 주셔서 감사합니다.