我的主要目的是以循环方式一个接一个地执行进程,直到一个调用 receive() 并被阻塞,以便执行切换到队列中的下一个进程。有一个用 Java 编码的控制器应用程序,它使用 Runtime.getRuntime().exec() 执行这些进程(也是 Java 应用程序)并保留作为 Process 对象的返回值。
为了达到这个目的,我需要捕获接收()调用(或它们的状态,被阻塞)并将它们告诉控制器(主)应用程序。
如果可能的话,我可以尽可能地低级。我的第一个想法是从驱动程序获取此信息,然后将其告诉我的控制器 Java 应用程序。我编写了一个 linux 内核网络模块来捕获发送和接收操作,但是 AFAIK 的 socket.receive() 函数并没有告诉网络驱动程序任何东西。
所以,我认为选项是从 JVM 获取这些信息,以某种方式从 linux 命令或其他获取它,或者可能通过 linux 内核模块?
你有什么建议?