Process.Kill Método

Definición

Se fuerza la finalización del proceso subyacente.Forces termination of the underlying process.

Sobrecargas

Kill()

Detiene inmediatamente el proceso asociado.Immediately stops the associated process.

Kill(Boolean)

Detiene inmediatamente el proceso asociado y, opcionalmente, sus procesos secundarios o descendientes.Immediately stops the associated process, and optionally its child/descendent processes.

Comentarios

El Kill método fuerza una terminación del proceso, mientras que CloseMainWindow solo solicita una terminación.The Kill method forces a termination of the process, while CloseMainWindow only requests a termination. Cuando se está ejecutando un proceso con una interfaz gráfica, su bucle de mensajes se encuentra en un estado de espera.When a process with a graphical interface is executing, its message loop is in a wait state. El bucle de mensajes se ejecuta cada vez que el sistema operativo envía un mensaje de Windows al proceso.The message loop executes every time a Windows message is sent to the process by the operating system. La llamada a CloseMainWindow envía una solicitud para cerrar la ventana principal, que, en una aplicación bien formada, cierra las ventanas secundarias y revoca todos los bucles de mensajes en ejecución para la aplicación.Calling CloseMainWindow sends a request to close the main window, which, in a well-formed application, closes child windows and revokes all running message loops for the application. La solicitud para salir del proceso mediante una llamada a CloseMainWindow no obliga a la aplicación a salir.The request to exit the process by calling CloseMainWindow does not force the application to quit. La aplicación puede solicitar la comprobación del usuario antes de salir o puede denegarse su cierre.The application can ask for user verification before quitting, or it can refuse to quit. Para forzar el cierre de la aplicación, use el Kill método.To force the application to quit, use the Kill method.

El comportamiento de CloseMainWindow es idéntico al de un usuario que cierra la ventana principal de una aplicación mediante el menú del sistema.The behavior of CloseMainWindow is identical to that of a user closing an application's main window using the system menu. Por lo tanto, la solicitud para salir del proceso cerrando la ventana principal no obliga a la aplicación a salir inmediatamente.Therefore, the request to exit the process by closing the main window does not force the application to quit immediately.

Nota

El Kill método se ejecuta de forma asincrónica.The Kill method executes asynchronously. Después de llamar al Kill método, llame al WaitForExit método para esperar a que finalice el proceso, o bien Compruebe la HasExited propiedad para determinar si el proceso ha terminado.After calling the Kill method, call the WaitForExit method to wait for the process to exit, or check the HasExited property to determine if the process has exited.

Nota

El WaitForExit método y la HasExited propiedad no reflejan el estado de los procesos descendientes.The WaitForExit method and the HasExited property do not reflect the status of descendant processes. Cuando Kill(entireProcessTree: true) se usa, WaitForExit e HasExited indica que se ha completado el cierre después de que finalice el proceso dado, incluso si no se han salido de todos los descendientes.When Kill(entireProcessTree: true) is used, WaitForExit and HasExited will indicate that exiting has completed after the given process exits, even if all descendants have not yet exited.

Los datos editados por el proceso o los recursos asignados al proceso se pueden perder si se llama a Kill .Data edited by the process or resources allocated to the process can be lost if you call Kill. Kill provoca una terminación anómala del proceso y solo se debe usar cuando sea necesario.Kill causes an abnormal process termination and should be used only when necessary. CloseMainWindow habilita una terminación ordenada del proceso y cierra todas las ventanas, por lo que es preferible para las aplicaciones con una interfaz.CloseMainWindow enables an orderly termination of the process and closes all windows, so it is preferable for applications with an interface. Si CloseMainWindow se produce un error, puede usar Kill para finalizar el proceso.If CloseMainWindow fails, you can use Kill to terminate the process. Kill es la única manera de terminar los procesos que no tienen interfaces gráficas.Kill is the only way to terminate processes that do not have graphical interfaces.

Solo puede llamar a Kill y a CloseMainWindow los procesos que se ejecutan en el equipo local.You can call Kill and CloseMainWindow only for processes that are running on the local computer. No puede hacer que los procesos de los equipos remotos salgan.You cannot cause processes on remote computers to exit. Solo puede ver información para los procesos que se ejecutan en equipos remotos.You can only view information for processes running on remote computers.

Kill()

Detiene inmediatamente el proceso asociado.Immediately stops the associated process.

public:
 void Kill();
public void Kill ();
member this.Kill : unit -> unit
Public Sub Kill ()

Excepciones

No se pudo terminar el proceso asociado.The associated process could not be terminated.

Está intentando llamar a Kill() para un proceso que se ejecuta en un equipo remoto.You are attempting to call Kill() for a process that is running on a remote computer. El método está disponible solo para los procesos que se ejecutan en el equipo local.The method is available only for processes running on the local computer.

No hay ningún proceso asociado a este objeto Process .There is no process associated with this Process object.

Consulte también

Se aplica a

Kill(Boolean)

Detiene inmediatamente el proceso asociado y, opcionalmente, sus procesos secundarios o descendientes.Immediately stops the associated process, and optionally its child/descendent processes.

public:
 void Kill(bool entireProcessTree);
public void Kill (bool entireProcessTree);
member this.Kill : bool -> unit
Public Sub Kill (entireProcessTree As Boolean)

Parámetros

entireProcessTree
Boolean

true para terminar el proceso asociado y sus descendientes; false para terminar solo el proceso asociado.true to kill the associated process and its descendants; false to kill only the associated process.

Excepciones

No se pudo terminar el proceso asociado.The associated process could not be terminated.

o bien-or-

El proceso está finalizando.The process is terminating.

Está intentando llamar a Kill() para un proceso que se ejecuta en un equipo remoto.You are attempting to call Kill() for a process that is running on a remote computer. El método está disponible solo para los procesos que se ejecutan en el equipo local.The method is available only for processes running on the local computer.

El proceso ya se cerró.The process has already exited.

o bien-or-

No hay ningún proceso asociado a este objeto Process .There is no process associated with this Process object.

o bien-or-

El proceso de llamada es miembro del árbol descendiente del proceso asociado.The calling process is a member of the associated process' descendant tree.

No se pudieron finalizar todos los procesos del árbol descendiente del proceso asociado.Not all processes in the associated process' descendant tree could be terminated.

Comentarios

Cuando entireProcessTree se establece en true , el proceso de finalización de descendientes omite los procesos en los que la llamada no tiene permisos para ver los detalles porque el proceso de finalización no puede determinar si esos procesos son descendientes.When entireProcessTree is set to true, processes where the call lacks permissions to view details are silently skipped by the descendant termination process because the termination process is unable to determine whether those processes are descendants.

Consulte también

Se aplica a