Я пишу простой TCP / IP-сервер, используя Powershell. Я заметил, что Ctrl- C не может прервать вызов AcceptTcpClient (). Ctrl- C работает нормально после звонка, хотя. Я искал вокруг, никто не сообщил о подобной проблеме до сих пор.
Проблема может быть повторена с помощью следующего простого кода. Я использую Windows 10, последний патч, с собственным терминалом Powershell, а не Powershell ISE.
$listener=new-object System.Net.Sockets.TcpListener([system.net.ipaddress]::any, 4444)
$listener.start()
write-host "listener started at port 4444"
$tcpConnection = $listener.AcceptTcpClient()
write-host "accepted a client"
Вот что происходит, когда я запускаю его
ps1> .\test_ctrl_c.ps1
listener started at port 4444
(Ctrl-C doesn't work here)