.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.