退出 java 程序到 linux 命令

Exit java program to linux command

我正在制作一个小工具来处理一种奇特的设备,有很多选项来管理它等。其中之一是扫描 tty 端口,找到正确的端口,然后将用户丢给 "minicom" 例如一些参数。

我怎样才能让 java 完全退出而 运行 一个特定的命令,在特定条件下,退出后?

最初的想法是使用 bash 脚本,扫描 return 值,通过文件进行通信 etc.A Java 中的全功能交互式串行控制台将是梦想,但我现在尝试的那些现在似乎甚至找不到 tty 端口。

linux 上的大多数进程都遵循调用堆栈,其中进程 A 调用进程 B,进程 B 调用进程 C。 Wen 进程 C 终止,控制权返回进程 B,依此类推。

听起来在这种情况下您希望 java 调用最小值,但是当 java 完成后,return 到父 shell。

我不知道有什么方法可以在调用另一个进程时终止 JVM(return在 JVM 的父进程终止时发送给它)。也许使用 JNI 进行一些聪明的 C 调用,但这不再是真正的 java 并且可能会产生新的问题。

您可以让 JVM 包装目标进程并传递用户输入和输出。或者,使用文件通信,例如java 程序将命令行写入文件,父 bash 脚本在 JVM 终止后执行,但这有点麻烦。