java - 如何模拟在终端进程上按下 Ctrl+I

标签 java terminal

我有一个进程,我使用 Java 启动了一个(非 Java)CLI 进程,我想以编程方式向它发送 Ctrl+I 组合键。

可能吗?

最佳答案

如果外部进程正在其标准输入上查找 Ctrl-I 字符(顺便说一下,与 Tab 相同),GreenGiant 的解决方案将起作用。由于这不起作用,该进程显然正在其控制台(tty)上寻找按键,而其他程序根本无法访问这些按键。您需要编写 native 代码来创建虚拟 tty 并让进程使用它。 JNI 是您允许 Java 调用 native 代码作为 Java 程序一部分的方式。

关于java - 如何模拟在终端进程上按下 Ctrl+I,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35662986/

相关文章:

bash - 对于带空格键的文件,重命名命令不会在两步命令中重命名(mac 终端)

ruby-on-rails - Rspec 中的自定义失败消息

java - DL4J 使用 Apache Spark 在 GPU 上运行(不是训练)LSTM 神经网络?

java - 如何将 AES CCM 与 BouncycaSTLe JCE 提供程序一起使用 - CCMParameters

c - C程序中的非规范终端模式缓冲区标准输出

android - 无法在我的 Mac 上打开和编辑 .bash_profile

java - 正则表达式查找字符串并根据条件替换它或添加额外字符

java - 保护 "default"方法不被覆盖

java - 反射 IllegalArgumentException 原因

linux - 在 Shell 脚本中分析文件