无法 运行 来自 udev 脚本的应用程序
Cannot run an application from udev script
在我们的嵌入式系统中,我们已将 udev 正确设置为 运行 位于 /etc/udev/scripts/mount.sh 中的脚本。这很好用。但是,我们无法从该脚本中成功 运行 应用程序。
这很奇怪。我们试图在脚本中编写此应用程序调用,比如 test.sh。如果我们从 udev 脚本 (mount.sh) 调用 test.sh,什么也没有发生。它仅在我们从 shell.
调用 test.sh 时有效
有人知道这里有什么问题吗?
更新:
test.sh 看起来像:
#!/bin/sh
/usr/local/app/appipc "[header]usb,add"
appipc 只是一个简单的 Qt 应用程序,使用 QLocalSocket 按名称连接到本地服务器。如果我们 运行 这个脚本在 shell 中,它就可以工作。但不是来自 udev 脚本 (mount.sh).
最后我们发现,如果我们 运行 来自 udev 脚本的 Qt 应用程序,Qt 库无法正确加载。这就是为什么我们永远不会 运行 怀疑它。如果我们 运行 一个普通的 C 应用程序,一切正常!
这是我们的愚蠢和疏忽!我们应该提前考虑这一点。谢谢大家的时间。
在我们的嵌入式系统中,我们已将 udev 正确设置为 运行 位于 /etc/udev/scripts/mount.sh 中的脚本。这很好用。但是,我们无法从该脚本中成功 运行 应用程序。
这很奇怪。我们试图在脚本中编写此应用程序调用,比如 test.sh。如果我们从 udev 脚本 (mount.sh) 调用 test.sh,什么也没有发生。它仅在我们从 shell.
调用 test.sh 时有效有人知道这里有什么问题吗?
更新: test.sh 看起来像:
#!/bin/sh
/usr/local/app/appipc "[header]usb,add"
appipc 只是一个简单的 Qt 应用程序,使用 QLocalSocket 按名称连接到本地服务器。如果我们 运行 这个脚本在 shell 中,它就可以工作。但不是来自 udev 脚本 (mount.sh).
最后我们发现,如果我们 运行 来自 udev 脚本的 Qt 应用程序,Qt 库无法正确加载。这就是为什么我们永远不会 运行 怀疑它。如果我们 运行 一个普通的 C 应用程序,一切正常!
这是我们的愚蠢和疏忽!我们应该提前考虑这一点。谢谢大家的时间。