我已经编写了一个在Mono上运行的应用程序,并被udev规则调用。
应用程序在控制台上运行正常。此外,它可以从udev APP+=
节中正常工作。但是,在我放在一起的新Gentoo系统上,当从PROGRAM=
节调用时,程序永远不会终止。在我也有的Ubuntu系统上,从PROGRAM=
节中调用它可以正常工作。两个系统共享相同版本的Mono。
此外,从PROGRAM=
调用其他程序(非单声道)在两个系统上都能正常工作;这绝对是Mono和调用环境的问题。
我已经使用了gdb,似乎程序一直在等待信号量。控制台输出已确认这发生在C#代码结束后 - 它似乎在垃圾收集器中。这是gdb的截图:
我会报告一个错误,但我还不知道这是否是环境问题;毕竟,它在Ubuntu上运行良好。
非常感谢任何协助。