node.js - sending key-shortcuts to child process

六眼飞鱼酱① 提交于 2019-12-07 03:33:54

问题


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 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!


回答1:


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.



来源:https://stackoverflow.com/questions/5649891/node-js-sending-key-shortcuts-to-child-process

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!