2017-04-13 57 views
0

在我們的嵌入式系統中,我們已正確設置udev以運行位於/etc/udev/scripts/mount.sh中的腳本。這工作得很好。但是,我們無法在此腳本中成功運行應用程序。無法從udev腳本運行應用程序

這很奇怪。我們試圖在腳本中編寫這個應用程序調用,比如test.sh。如果我們從udev腳本(mount.sh)調用test.sh,則什麼也沒有發生。它只有在我們從shell調用test.sh時纔有效。

有沒有人知道這裏有什麼問題?

更新時間: test.sh的樣子:

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

appipc只是使用QLocalSocket按名稱連接到本地服務器一個簡單的Qt應用程序。如果我們在shell中運行這個腳本,它會起作用。但不是從udev腳本(mount.sh)。

+0

你會分享腳本錯誤信息它說什麼時,你跑?它從不運行 – LethalProgrammer

+0

該腳本在shell中運行良好,因此沒有錯誤消息。你的意思是當它由udev腳本運行?我不知道如何確定從那裏產生的錯誤。 – wthung

+0

您是否嘗試過系統日誌? –

回答

-1

最後我們發現,如果我們從udev腳本運行Qt應用程序,Qt庫無法正確加載。這就是爲什麼我們懷疑它永遠不會運行。如果我們運行一個普通的C應用程序,一切都很好!

這是我們的一種愚蠢和疏忽!我們應該提前考慮這一點。感謝大家的時間。