java - 使用 Ganymed SSH2 发送 SIGINT CTRL-C?

标签 java ssh jsch sigint

我需要终止一个我已经开始使用 Ganymed SSH2 的进程。具体来说,我想使用 Ctrl+C 优雅地杀死它。我已经看到尝试发送 ASCII \x03 的想法,但是在使用 execCommand() 时它不会采用转义字符。我如何通过ganymed发送Ctrl+C SIGINT?

如果我应该使用另一个 Java SSH 应用程序,请告诉我,我研究了 Jsch、sshj,但发现 ganymed ssh2 是最简单的。

我要杀死的程序是 tethereal (wireshark)

最佳答案

我已经将它与 JSch 一起使用以成功发送 Ctrl+C:

JSch jsch = new JSch();
Session session = jsch.getSession(user, host);
session.setPassword(password);
session.connect(timeout);
Channel channel = session.openChannel("shell");
channel.connect();
OutputStream out = channel.getOutputStream();
...
out.write(3); // send CTRL-C
out.flush();

关于java - 使用 Ganymed SSH2 发送 SIGINT CTRL-C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5366923/

相关文章:

java - 如何为可变数量的按钮创建操作?

java - 当两个类根本不相关时如何将方法从一个类移动到另一个类

Linux 如果 csh 中有退出代码

eclipse - 在 Eclipse 中将 putty 的页面与 egit 一起使用

java - 转换数据库中的嵌入图片

java - 为什么通配符导入语句使用类路径jar类而不是jdk类?

github - 是否可以重命名 GitHub SSH key ?

mysql - 重启服务后无法通过ssh运行mysql控制台

java - jsch 并运行 "sudo su -"

java - 使用 jcraft.jsch 更改目录时文件夹不存在