отправлять SIGINT CTRL-C с помощью ganymed SSH2? - PullRequest
1 голос
/ 20 марта 2011

Мне нужно убить процесс, который я начал использовать с помощью ganymed SSH2.В частности, я хотел бы изящно убить его, используя Ctrl + C .Я видел идеи о попытке отправить ASCII \x03, но при использовании execCommand () он не будет содержать экранированные символы.Как я могу отправить Ctrl + C SIGINT через ganymed?

Если есть другое приложение Java SSH, которое я должен использовать, дайте мне знать, я посмотрел в Jsch,sshj, но только что нашел ganymed ssh2, чтобы быть самым простым.

Программа, которую я пытаюсь убить, является tethereal (wireshark)

1 Ответ

4 голосов
/ 20 марта 2011

Я использовал это с 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();
...