2011-03-20 67 views
1

我需要杀掉我已经开始使用ganymed SSH2的进程。具体而言,我想优雅地杀死它使用Ctrl + C。我看到了尝试发送ASCII \x03的想法,但是在使用execCommand()时,它不会带有转义字符。如何发送Ctrl + C SIGINT通过ganymed?使用ganymed SSH2发送SIGINT CTRL-C?

如果还有另一个Java SSH应用程序,我应该让我知道,我已经看过Jsch,sshj,但只是发现ganymed ssh2是最简单的。

节目我试图杀死是tethereal的

回答

4

我用这个与JSch成功发送按Ctrl +Ç(Wireshark的):

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();