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!
child_process.exec() : spawns a shell and runs a command within that shell, passing the stdout and stderr to a callback function when complete.
libuv: libuv is a C library originally written for Node. js to abstract non-blocking I/O operations. Event-driven asynchronous I/O model is integrated. It allows the CPU and other resources to be used simultaneously while still performing I/O operations, thereby resulting in efficient use of resources and network.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With