我正在运行 ssh 命令作为后台作业:
ssh -l user server 'sleep 1000' &
假设上面返回进程 ID:[ssh_pid]。
如何使 ssh 转发信号到远程进程?
即假设我这样做:kill -TERM [ssh_pid]
,那么它应该将 TERM 信号转发给远程进程,而不是自己处理它。
这里检查了一个类似的问题:https ://unix.stackexchange.com/questions/40023/get-ssh-to-forward-signals 。没有很好的解决方案。使用该答案,这是一个对我有用的建议:
ssh -tt -oLogLevel=quiet server 'stty raw isig; sleep 1000' < /dev/null &