如何向 Java 进程发送中断键序列?

发布于 2024-07-22 06:00:46 字数 304 浏览 7 评论 0原文

我有一个 Java Process 实例及其关联流的句柄。 这是一个控制台程序。 我想模拟一个中断序列。 在 Windows 上,这是 Ctrl-C。 如果没有本地人,这可能吗?

这样做的原因是:控制台程序本身就是一个命令行控制台,控制另一种语言的虚拟机。 用户可以从此控制台程序运行另一个程序。 当程序运行时,中断序列将中断底层程序的执行并导致控制台程序进入调试模式。

我们正在 Java 包装这个控制台调试器,以便可以通过 IDE (Eclipse) 驱动它。 发送中断序列相当于在 Eclipse 调试器中按“挂起”键。

I've got a handle to a Java Process instance and its associated streams. It's a console program. I'd like to simulate a break sequence. On Windows this is Ctrl-C. Is this possible without natives?

The reason for doing this: the console program is a command-line console itself, controlling a virtual machine for another language. The user can run another program from this console program. While a program is running, the break sequence will interrupt execution of the underlying program and cause the console program to go into debug mode.

We are Java-wrapping this console debugger so that it can be driven via an IDE (Eclipse). Sending the break sequence will be the equivalent of pressing "suspend" in the Eclipse debugger.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

三生路 2024-07-29 06:00:46

您可能想了解一下 SendSignal。 这将向 Java 进程发送 ctrl-Break。 我假设您的目标是导致堆栈转储,CTRL-C(信号 3 又名 SIGQUIT)将为正在运行的 Java 进程执行此操作?

You probably want to look into SendSignal. This will send a ctrl-Break to a Java Process. I assume your goal is to cause a stack dump, which a CTRL-C (signal 3 aka SIGQUIT) will do for a running Java process?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文