【发布时间】:2017-04-13 11:30:36
【问题描述】:
在我们的嵌入式系统中,我们已正确设置 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)。
【问题讨论】:
-
你能分享一下运行时脚本错误信息吗?它永远不会运行
-
脚本在shell中运行良好,所以没有错误信息。你的意思是当它由 udev 脚本运行时?我不确定如何确定从那里产生的错误。
-
你试过系统日志了吗?
-
是的。我们尝试在 appipc 中使用 syslog。从 shell 运行我们可以看到 /var/log/messages 的输出消息,但是从 udev 脚本运行我们什么也看不到。我们怀疑是否有任何情况导致 appipc 无法从 udev 脚本运行?