使用 ganymed SSH2 发送 SIGINT CTRL-C?

发布于 2024-10-25 05:04:25 字数 321 浏览 6 评论 0原文

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

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

我试图杀死的程序是 tethereal (wireshark)

I need to kill a process that I have started using ganymed SSH2. Specifically I would like to gracefully kill it using Ctrl+C. I have seen ideas of trying to send ASCII \x03 but when using the execCommand() it wont take escaped chars. How can I send Ctrl+C SIGINT through ganymed?

If there is another Java SSH app I should be using let me know, I have looked into Jsch, sshj but just found ganymed ssh2 to the be easiest.

The program i am trying to kill is tethereal (wireshark)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

辞取 2024-11-01 05:04:27

我已将其与 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();

I've used this with JSch to successfully send 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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文