My program spawns "ssh" as a child process, conntects to a server and is then able to write to the stream and read its output.
This all works fine. When I write "ls" to the process stream I get a list of the files.
But now, I want send key shortcuts to this process, so that I can开发者_如何学Go abort the running process in the ssh session.
I know this can also be done through the stream, but where can I read about WHAT I must send to the process to make it understand my key shortcuts?
Thanks for any help!
With a normal ssh session, sending '~' after a newline is the escape character to control the ssh program itself. For example '~.' will close the connection.
Search for 'tilde' on the manpage.
Update:
On re-reading your question, I think you are probably wanting to send Ctrl-* to the remote process running in the ssh session rather than talking to the ssh process itself. You might just be able to send the ASCII sequence that the Ctrl key would generate:
sshprocess.stdin.write("\x03")
ASCII character 0x03 is what Ctrl-C becomes. This is from the ancient days of dumb terminals. More about ASCII control sequences.
精彩评论