Anda dapat mencobanya dengan cara ini:
PowerShell Anda meluncurkan program python Anda dalam suatu pekerjaan
Perangkap Ctrl-C dengan proses utama PowerShell
Ketika Ctrl-C terjebak, hentikan pekerjaan yang diluncurkan di langkah 1
Kemudian, Anda dapat membuat skrip PowerShell Anda berlanjut
Untuk meluncurkan pekerjaan latar belakang, gunakan pekerjaan mulai
$ killMe = start-job -scriptblock {& python manage.py}
Untuk menjebak Ctrl-C, beri tahu konsol Anda untuk memperlakukan Ctrl-C sebagai input, periksa ini dari MSTN .
[konsol] :: TreatControlCAsInput = $ true
Kemudian jalankan loop UI untuk memeriksa input kunci:
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
}
}
}
:
Untuk menghentikan pekerjaan ketika "Ctrl-C" dipukul,
stop-job -job $ killMe
Namun, hidup tidak akan mudah jika Anda perlu berinteraksi dengan server python Anda, yang berjalan di latar belakang. Dan Anda mungkin ingin menampilkan output server Anda terus-menerus.