Bạn có thể thử nó theo cách này:
Powerhell của bạn khởi chạy chương trình python của bạn trong một công việc
Bẫy Ctrl-C theo quy trình chính của powershell
Khi Ctrl-C bị kẹt, dừng công việc được khởi chạy ở bước 1
Sau đó, bạn có thể tiếp tục tập lệnh powershell của mình
Để khởi chạy một công việc nền, hãy sử dụng công việc bắt đầu
$ killMe = start-job -scriptblock {& python Manage.py}
Để bẫy Ctrl-C, hãy nói với bảng điều khiển của bạn coi Ctrl-C là đầu vào, kiểm tra điều này từ MSTN .
[bảng điều khiển] :: TreatControlCAsInput = $ true
Sau đó chạy một vòng lặp UI để kiểm tra các phím nhập:
while ($true) {
write-host "Processing..."
if ([console]::KeyAvailable) {
$key = [system.console]::readkey($true)
if (($key.modifiers -band [consolemodifiers]"control") -and
($key.key -eq "C")) {
:
break
}
}
}
:
Để dừng công việc khi nhấn "Ctrl-C",
dừng công việc -job $ killMe
Tuy nhiên, cuộc sống sẽ không dễ dàng nếu bạn cần tương tác với máy chủ python đang chạy ở chế độ nền. Và bạn có thể muốn hiển thị đầu ra của máy chủ của bạn liên tục.