gpt4 book ai didi

linux - 如何通过 SSH(不带 -t 选项)将 SIGINT (Ctrl-C) 发送到当前远程进程

转载 作者:IT王子 更新时间:2023-10-29 01:07:29 41 4
gpt4 key购买 nike

我需要在 SSH session 中向在前台运行的远程进程发送 SIGINT。

SSH session 已经建立,所以我不能使用启动它的选项(如 How to send SIGINT to a remote process over SSH? 中所述)

ssh -t user@host

我知道我可以打开第二个 ssh session 并终止进程或关闭当前的 ssh session ,但我想避免这种情况并直接抛出当前 session (如果可能的话)。

最佳答案

如果您使用 ssh 在远程系统上启动一个没有 PTY 的进程,那么据我所知,没有办法通过该 ssh session 向远程进程发送信号。

SSH 协议(protocol)有一个 message to send a signal to the remote process .但是,您可能正在为客户端或服务器或两者使用 OpenSSH,而 OpenSSH 并未实现信号消息。因此 OpenSSH 客户端无法发送消息,OpenSSH 服务器也不会对其进行操作。

有一个SSH extension to send a "break" message OpenSSH 支持。在交互式 session 中,OpenSSH 客户端有一个 escape sequence您可以键入以向服务器发送中断。 OpenSSH 服务器通过向远程 session 的 PTY 发送中断来处理中断消息,而 unix PTY 通常会将中断视为 SIGINT。然而,中断基本上是一个 TTY 概念,这些都不适用于没有 PTY 的远程 session 。

关于linux - 如何通过 SSH(不带 -t 选项)将 SIGINT (Ctrl-C) 发送到当前远程进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44348083/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com