如何使用JSCH发送CTRL + C?

时间:2015-08-02 12:56:16

标签: c jsch ctrl

我使用jsch ChannelShell向远程系统发送命令,但我无法发送ctrl+c等特殊命令。我尝试了很多东西,但没有成功。

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:2)

您只需发送信号即可。 在你的情况下,它将是2,对应于CTRL + C:

channel.sendSignal("2"); // sends (CTRL+C) signal

您可以找到Unix信号列表here

答案 1 :(得分:0)

我想,我弄清楚了我的错。 Cat和grep(以及那些类型的命令)命令是一次性命令。它们不是连续的。所以我无法中断这些命令。我必须停止监听流以停止打印输出。

答案 2 :(得分:0)

如果你想终止像tail这样的操作

Example -    BufferedReader reader = new BufferedReader(new InputStreamReader(ce.getInputStream()));
         OutputStream out=ce.getOutputStream();
out.write(3); //terminate the tail command

 out.flush();