Samuel ROZE wrote: > But, if you type "sleep 10;" and then make a Ctrl + C, this will > print "^C" and then allow you to type another command while > cancelling this sleep command. > > If I send to my ssh2 channel an "sleep 1000;" command for instance, > how I can send the ^C command ?
Ctrl-C is not interpreted by the shell. There is a lot of code executing to translate every keypress between the time you press the key, and the time it reaches your shell. Ctrl-C is interpreted by the terminal handler on the server. Again, please now investigate how terminal emulation and terminal handling works in Linux/UNIX. For Ctrl-C, the handler translates the keypress into the POSIX signal SIGTERM, and sends the signal to the process that is the session master for that virtual terminal (sleep) which will then either catch the signal and do something implementation specific as a result, or the default signal handler for SIGTERM will be run, which exits the program. Please read more about signals. SSH2 supports sending signals to channels, but this is not implemented neither in libssh2 nor in OpenSSH so in practice it cannot be done at this time. I believe there are patches for both packages, but so far they have not been merged. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel