2012-10-29 138 views

回答

2

telnet程序捕獲CTRL-C字符,並將其作爲TCP連接的單個字節(\x03)發送到另一端。接收程序決定如何處理該字節。

如果它被一個「telnet守護進程」接收,意圖通過僞終端提供類似控制檯的交互性,那麼組合會爲其下運行的進程產生SIGINT,通常是一個shell。

因此,要回答你的問題,你可以處理收到的\x03字符,並在內部生成一個SIGINT,或者你可以運行你的整個程序作爲一個由telnetd在僞終端下產生和控制的進程。

0

Telnet客戶端(即臨危的SIGINT過程中)應該對其進行處理:無論是處理在本地(如:終止,或重新發出提示),或將其發送到服務器作爲IAC 東西(BRK? )和/或帶外數據。 如果您想將中斷傳遞給服務器,Google for「telnet IAC」可能會讓您開始。