.kill (Kill Process)
In modalità utente, il comando .kill termina un processo di cui viene eseguito il debug.
In modalità kernel, il comando .kill termina un processo nel computer di destinazione.
Sintassi in modalità utente
.kill [ /h | /n ]
Sintassi in modalità kernel
.kill Process
Parametri
/h
(solo modalità utente) Qualsiasi evento di debug in sospeso verrà continuato e contrassegnato come gestito. Si tratta dell'impostazione predefinita.
/n
(solo modalità utente) Qualsiasi evento di debug in sospeso verrà continuato senza essere contrassegnato come gestito.
Processo
Specifica l'indirizzo del processo da terminare. Se Process viene omesso o zero, il processo predefinito per lo stato del sistema corrente verrà terminato.
Ambiente
In modalità kernel questo comando è supportato in Microsoft Windows Server 2003 e versioni successive di Windows.
Modalità |
modalità utente, modalità kernel |
Destinazioni |
solo debug in tempo reale |
Piattaforme |
tutto |
Osservazioni:
In modalità utente, questo comando termina un processo di cui viene eseguito il debug. Se il debugger è collegato a un processo figlio, è possibile usare .kill per terminare il processo figlio senza terminare il processo padre. Per altre informazioni, vedere Esempi.
In modalità kernel questo comando pianifica il processo selezionato nel computer di destinazione per la terminazione. La volta successiva che la destinazione può essere eseguita (ad esempio, usando un comando g (Go), il processo specificato viene terminato.
Non è possibile usare questo comando durante il debug del kernel locale.
Esempi
Uso di .childdbg
Si supponga di collegare un debugger al processo padre (Parent.exe) prima di creare un processo figlio. È possibile immettere il comando .childdbg 1 per indicare al debugger di connettersi a qualsiasi processo figlio creato dall'elemento padre.
1:001> .childdbg 1
Processes created by the current process will be debugged
Consentire ora l'esecuzione del processo padre e l'interruzione dopo aver creato il processo figlio. Usare | (Stato processo) comando per visualizzare i numeri di processo per i processi padre e figlio.
0:002> |*
. 0 id: 7f8 attach name: C:\Parent\x64\Debug\Parent.exe
1 id: 2d4 child name: notepad.exe
Nell'output precedente il numero del processo figlio (notepad.exe) è 1. Il punto (.) all'inizio della prima riga indica che il processo padre è il processo corrente. Per rendere il processo figlio il processo corrente, immettere |1s.
0:002> |1s
...
1:001> |*
# 0 id: 7f8 attach name: C:\Parent\x64\Debug\Parent.exe
. 1 id: 2d4 child name: notepad.exe
Per terminare il processo figlio, immettere il comando .kill. Il processo padre continua a essere eseguito.
1:001> .kill
Terminated. Exit thread and process events will occur.
1:001> g
Uso del parametro -o
Quando si avvia WinDbg o CDB, è possibile usare il parametro -o per indicare al debugger che deve essere collegato ai processi figlio. Ad esempio, il comando seguente avvia WinDbg, che viene avviato e collegato a Parent.exe. Quando Parent.exe crea un processo figlio, WinDbg si connette al processo figlio.
windbg -g -g -o Parent.exe
Per altre informazioni, vedere Opzioni della riga di comando winDbg e opzioni della riga di comando cdb.
Requisiti
Versione |
Versioni:(modalità kernel) supportata in Windows Server 2003 e versioni successive. |