我需要杀死一个我开始使用ganymed SSH2的进程。具体来说,我想使用 Ctrl + C 优雅地杀死它。我已经看到了尝试发送ASCII \x03
的想法,但是当使用execCommand()时它不会使用转义字符。如何通过ganymed发送 Ctrl + C SIGINT?
如果有另一个我应该使用的Java SSH应用程序让我知道,我已经查看了Jsch,sshj但是发现ganymed ssh2是最简单的。
我想杀死的程序是tethereal(wireshark)
答案 0 :(得分:4)
我在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();