How to send 'Ctrl-C' to the interactive shell spawned by SpawnWithArgs
Say, I run cat /proc/kmsg as a root user on the interfactive SSH shell spawned by SpawnWithArgs, but it will hangs for ever (since you wouldn't cat anything from the magic file /proc/kmsg even as root), so no following commands sent to this SSH shell will not be executed by the SSH shell since it is haning on. I'd like invoke Ctrl-C in this SSH shell spawned by goexpect to stop cat progress clearing the shell, just like what we will do in an actual one.
I've tried
- sending ASCII code
\003(by callingexp.Write()) wouldn't work. -
SendSignalbatcher seems send signals to the SSH progress itself, not sheSHELLinside the SSH session.
Are there any ways to do this? What did I miss here?
CC @skalle
As posted here, I don't think it's possible and portable to send a 'Ctrl-C' signal to remote SHELL in SSH session.
Sending a simple '\x03' surely wouldn't work since most of SSH server/client doesn't support signal messages. I'm not sure how expect is implemented, but it should behavior the same way. However, some posts also said sending \x03 works fine in expect scripts, so I'm a bit confused. :-