Partilhar via


Process Classe

Definição

Fornece acesso a processos locais e remotos e permite que você inicie e interrompa os processos do sistema local.

public ref class Process : System::ComponentModel::Component, IDisposable
public ref class Process : IDisposable
public ref class Process : System::ComponentModel::Component
public class Process : System.ComponentModel.Component, IDisposable
public class Process : IDisposable
public class Process : System.ComponentModel.Component
type Process = class
    inherit Component
    interface IDisposable
type Process = class
    interface IDisposable
type Process = class
    inherit Component
Public Class Process
Inherits Component
Implements IDisposable
Public Class Process
Implements IDisposable
Public Class Process
Inherits Component
Herança
Herança
Process
Implementações

Exemplos

O exemplo a seguir usa uma instância da Process classe para iniciar um processo.

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        public static void Main()
        {
            try
            {
                using (Process myProcess = new Process())
                {
                    myProcess.StartInfo.UseShellExecute = false;
                    // You can start any process, HelloWorld is a do-nothing example.
                    myProcess.StartInfo.FileName = "C:\\HelloWorld.exe";
                    myProcess.StartInfo.CreateNoWindow = true;
                    myProcess.Start();
                    // This code assumes the process you are starting will terminate itself.
                    // Given that it is started without a window so you cannot terminate it
                    // on the desktop, it must terminate itself or you can do it programmatically
                    // from this application using the Kill method.
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}
open System.Diagnostics

try
    use myProcess = new Process()
    myProcess.StartInfo.UseShellExecute <- false
    // You can start any process, HelloWorld is a do-nothing example.
    myProcess.StartInfo.FileName <- @"C:\HelloWorld.exe"
    myProcess.StartInfo.CreateNoWindow <- true
    myProcess.Start() |> ignore
// This code assumes the process you are starting will terminate itself.
// Given that it is started without a window so you cannot terminate it
// on the desktop, it must terminate itself or you can do it programmatically
// from this application using the Kill method.
with e ->
    printfn $"{e.Message}"
Imports System.Diagnostics
Imports System.ComponentModel

Namespace MyProcessSample
    Class MyProcess
        Public Shared Sub Main()
            Try
                Using myProcess As New Process()

                    myProcess.StartInfo.UseShellExecute = False
                    ' You can start any process, HelloWorld is a do-nothing example.
                    myProcess.StartInfo.FileName = "C:\\HelloWorld.exe"
                    myProcess.StartInfo.CreateNoWindow = True
                    myProcess.Start()
                    ' This code assumes the process you are starting will terminate itself. 
                    ' Given that it is started without a window so you cannot terminate it 
                    ' on the desktop, it must terminate itself or you can do it programmatically
                    ' from this application using the Kill method.
                End Using
            Catch e As Exception
                Console.WriteLine((e.Message))
            End Try
        End Sub
    End Class
End Namespace

O exemplo a seguir usa a Process própria classe e um método estático Start para iniciar um processo.

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        // Opens the Internet Explorer application.
        void OpenApplication(string myFavoritesPath)
        {
            // Start Internet Explorer. Defaults to the home page.
            Process.Start("IExplore.exe");

            // Display the contents of the favorites folder in the browser.
            Process.Start(myFavoritesPath);
        }

        // Opens urls and .html documents using Internet Explorer.
        void OpenWithArguments()
        {
            // url's are not considered documents. They can only be opened
            // by passing them as arguments.
            Process.Start("IExplore.exe", "www.northwindtraders.com");

            // Start a Web page using a browser associated with .html and .asp files.
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm");
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.asp");
        }

        // Uses the ProcessStartInfo class to start new processes,
        // both in a minimized mode.
        void OpenWithStartInfo()
        {
            ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
            startInfo.WindowStyle = ProcessWindowStyle.Minimized;

            Process.Start(startInfo);

            startInfo.Arguments = "www.northwindtraders.com";

            Process.Start(startInfo);
        }

        static void Main()
        {
            // Get the path that stores favorite links.
            string myFavoritesPath =
                Environment.GetFolderPath(Environment.SpecialFolder.Favorites);

            MyProcess myProcess = new MyProcess();

            myProcess.OpenApplication(myFavoritesPath);
            myProcess.OpenWithArguments();
            myProcess.OpenWithStartInfo();
        }
    }
}
module processstartstatic

open System
open System.Diagnostics

// Opens the Internet Explorer application.
let openApplication (myFavoritesPath: string) =
    // Start Internet Explorer. Defaults to the home page.
    Process.Start "IExplore.exe" |> ignore

    // Display the contents of the favorites folder in the browser.
    Process.Start myFavoritesPath |> ignore

// Opens urls and .html documents using Internet Explorer.
let openWithArguments () =
    // url's are not considered documents. They can only be opened
    // by passing them as arguments.
    Process.Start("IExplore.exe", "www.northwindtraders.com") |> ignore

    // Start a Web page using a browser associated with .html and .asp files.
    Process.Start("IExplore.exe", @"C:\myPath\myFile.htm") |> ignore
    Process.Start("IExplore.exe", @"C:\myPath\myFile.asp") |> ignore

// Uses the ProcessStartInfo class to start new processes,
// both in a minimized mode.
let openWithStartInfo () =
    let startInfo = ProcessStartInfo "IExplore.exe"
    startInfo.WindowStyle <- ProcessWindowStyle.Minimized

    Process.Start startInfo |> ignore

    startInfo.Arguments <- "www.northwindtraders.com"

    Process.Start startInfo |> ignore

// Get the path that stores favorite links.
let myFavoritesPath = Environment.GetFolderPath Environment.SpecialFolder.Favorites

openApplication myFavoritesPath
openWithArguments ()
openWithStartInfo ()
Imports System.Diagnostics
Imports System.ComponentModel

Namespace MyProcessSample
    Class MyProcess
        ' Opens the Internet Explorer application.
        Public Sub OpenApplication(myFavoritesPath As String)
            ' Start Internet Explorer. Defaults to the home page.
            Process.Start("IExplore.exe")

            ' Display the contents of the favorites folder in the browser.
            Process.Start(myFavoritesPath)
        End Sub

        ' Opens URLs and .html documents using Internet Explorer.
        Sub OpenWithArguments()
            ' URLs are not considered documents. They can only be opened
            ' by passing them as arguments.
            Process.Start("IExplore.exe", "www.northwindtraders.com")

            ' Start a Web page using a browser associated with .html and .asp files.
            Process.Start("IExplore.exe", "C:\myPath\myFile.htm")
            Process.Start("IExplore.exe", "C:\myPath\myFile.asp")
        End Sub

        ' Uses the ProcessStartInfo class to start new processes,
        ' both in a minimized mode.
        Sub OpenWithStartInfo()
            Dim startInfo As New ProcessStartInfo("IExplore.exe")
            startInfo.WindowStyle = ProcessWindowStyle.Minimized

            Process.Start(startInfo)

            startInfo.Arguments = "www.northwindtraders.com"

            Process.Start(startInfo)
        End Sub

        Shared Sub Main()
            ' Get the path that stores favorite links.
            Dim myFavoritesPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Favorites)

            Dim myProcess As New MyProcess()

            myProcess.OpenApplication(myFavoritesPath)
            myProcess.OpenWithArguments()
            myProcess.OpenWithStartInfo()
        End Sub
    End Class
End Namespace 'MyProcessSample

O exemplo F# a seguir define uma runProc função que inicia um processo, captura todas as informações de saída e erro e registra o número de milissegundos que o processo executou. A runProc função tem três parâmetros: o nome do aplicativo a ser iniciado, os argumentos a serem fornecidos ao aplicativo e o diretório inicial.

open System
open System.Diagnostics

let runProc filename args startDir : seq<string> * seq<string> = 
    let timer = Stopwatch.StartNew()
    let procStartInfo = 
        ProcessStartInfo(
            RedirectStandardOutput = true,
            RedirectStandardError = true,
            UseShellExecute = false,
            FileName = filename,
            Arguments = args
        )
    match startDir with | Some d -> procStartInfo.WorkingDirectory <- d | _ -> ()

    let outputs = System.Collections.Generic.List<string>()
    let errors = System.Collections.Generic.List<string>()
    let outputHandler f (_sender:obj) (args:DataReceivedEventArgs) = f args.Data
    use p = new Process(StartInfo = procStartInfo)
    p.OutputDataReceived.AddHandler(DataReceivedEventHandler (outputHandler outputs.Add))
    p.ErrorDataReceived.AddHandler(DataReceivedEventHandler (outputHandler errors.Add))
    let started = 
        try
            p.Start()
        with | ex ->
            ex.Data.Add("filename", filename)
            reraise()
    if not started then
        failwithf "Failed to start process %s" filename
    printfn "Started %s with pid %i" p.ProcessName p.Id
    p.BeginOutputReadLine()
    p.BeginErrorReadLine()
    p.WaitForExit()
    timer.Stop()
    printfn "Finished %s after %A milliseconds" filename timer.ElapsedMilliseconds
    let cleanOut l = l |> Seq.filter (fun o -> String.IsNullOrEmpty o |> not)
    cleanOut outputs,cleanOut errors

O código da runProc função foi escrito por ImaginaryDevelopment e está disponível na Licença Pública da Microsoft.

Comentários

Um Process componente fornece acesso a um processo em execução em um computador. Um processo, nos termos mais simples, é um aplicativo em execução. Um thread é a unidade básica para a qual o sistema operacional aloca o tempo do processador. Um thread pode executar qualquer parte do código do processo, incluindo partes que estão sendo executadas por outro thread.

O Process componente é uma ferramenta útil para iniciar, parar, controlar e monitorar aplicativos. Você pode usar o Process componente para obter uma lista dos processos em execução ou iniciar um novo processo. Um Process componente é usado para acessar processos do sistema. Depois que um Process componente for inicializado, ele poderá ser usado para obter informações sobre o processo em execução. Essas informações incluem o conjunto de threads, os módulos carregados (arquivos.dll e .exe) e informações de desempenho, como a quantidade de memória que o processo está usando.

Esse tipo implementa a IDisposable interface. Quando terminar de usar esse tipo ou objeto, você deverá descartá-lo de forma direta ou indireta. Para descartar o tipo diretamente, chame o método Dispose dele em um bloco try/finally. Para descartá-lo indiretamente, use um constructo de linguagem como using (em C#) ou Using (no Visual Basic). Para obter mais informações, consulte a seção "Usando um objeto que implementa idisposable" na documentação da IDisposable interface.

Importante

Chamar métodos dessa classe com dados não confiáveis é um risco à segurança. Chame os métodos dessa classe apenas com dados confiáveis. Para obter mais informações, consulte Validar Todas as Entradas.

Observação

Processos de 32 bits não podem acessar os módulos de um processo de 64 bits. Se você tentar obter informações sobre um processo de 64 bits de um processo de 32 bits, obterá uma Win32Exception exceção. Um processo de 64 bits, por outro lado, pode acessar os módulos de um processo de 32 bits.

O componente de processo obtém informações sobre um grupo de propriedades de uma só vez. Depois que o Process componente tiver obtido informações sobre um membro de qualquer grupo, ele armazenará em cache os valores das outras propriedades desse grupo e não obterá novas informações sobre os outros membros do grupo até que você chame o Refresh método. Portanto, não há garantia de que um valor de propriedade seja mais recente do que a última chamada para o Refresh método. Os detalhamentos de grupo dependem do sistema operacional.

Se você tiver uma variável de caminho declarada em seu sistema usando aspas, deverá qualificar totalmente esse caminho ao iniciar qualquer processo encontrado nesse local. Caso contrário, o sistema não encontrará o caminho. Por exemplo, se c:\mypath não estiver em seu caminho e você adicioná-lo usando aspas: path = %path%;"c:\mypath", você deve qualificar totalmente qualquer processo ao c:\mypath iniciá-lo.

Um processo do sistema é identificado exclusivamente no sistema pelo identificador de processo. Como muitos recursos do Windows, um processo também é identificado por seu identificador, que pode não ser exclusivo no computador. Um identificador é o termo genérico para um identificador de um recurso. O sistema operacional persiste o identificador do processo, que é acessado por meio da Handle propriedade do Process componente, mesmo quando o processo é encerrado. Assim, você pode obter as informações administrativas do processo, como o ExitCode (geralmente zero para êxito ou um código de erro diferente de zero) e o ExitTime. Identificadores são um recurso extremamente valioso, portanto, o vazamento de identificadores é mais virulento do que a perda de memória.

No macOS, as seguintes propriedades retornam 0:

Observação

Esta classe contém uma demanda de link e uma demanda de herança no nível de classe que se aplica a todos os membros. Um SecurityException é lançado quando o chamador imediato ou a classe derivada não tem permissão de confiança total. Para obter detalhes sobre demandas de segurança, veja Demandas de Link.

Notas do .NET Core

No .NET Framework, a Process classe por padrão usa Console codificações, que normalmente são codificações de página de código, para os fluxos de entrada, saída e erro. Por exemplo, código, em sistemas cuja cultura é inglês (Estados Unidos), a página de código 437 é a codificação padrão para a Console classe. No entanto, o .NET Core pode disponibilizar apenas um subconjunto limitado dessas codificações. Se esse for o caso, ele usará Encoding.UTF8 como codificação padrão.

Se um Process objeto depender de codificações de página de código específicas, você ainda poderá disponibilizá-las fazendo o seguinte antes de chamar qualquer Process método:

  1. Recupere o objeto EncodingProvider da propriedade CodePagesEncodingProvider.Instance.

  2. Passe o objeto EncodingProvider para o método Encoding.RegisterProvider para disponibilizar as codificações adicionais compatíveis com o provedor de codificação.

Em Process seguida, a classe usará automaticamente a codificação padrão do sistema em vez de UTF8, desde que você tenha registrado o provedor de codificação antes de chamar qualquer Process método.

Construtores

Nome Description
Process()

Inicializa uma nova instância da classe Process.

Propriedades

Nome Description
BasePriority

Obtém a prioridade base do processo associado.

CanRaiseEvents

Obtém um valor que indica se o componente pode gerar um evento.

(Herdado de Component)
Container

Obtém o IContainer que contém o Component.

(Herdado de Component)
DesignMode

Obtém um valor que indica se o Component está no modo de design no momento.

(Herdado de Component)
EnableRaisingEvents

Obtém ou define se o Exited evento deve ser gerado quando o processo é encerrado.

Events

Obtém a lista de manipuladores de eventos anexados a isso Component.

(Herdado de Component)
ExitCode

Obtém o valor que o processo associado especificou quando foi encerrado.

ExitTime

Obtém a hora em que o processo associado foi encerrado.

Handle

Obtém o identificador nativo do processo associado.

HandleCount

Obtém o número de identificadores abertos pelo processo.

HasExited

Obtém um valor que indica se o processo associado foi encerrado.

Id

Obtém o identificador exclusivo para o processo associado.

MachineName

Obtém o nome do computador no qual o processo associado está sendo executado.

MainModule

Obtém o módulo principal do processo associado.

MainWindowHandle

Obtém o identificador de janela da janela principal do processo associado.

MainWindowTitle

Obtém a legenda da janela principal do processo.

MaxWorkingSet

Obtém ou define o tamanho máximo do conjunto de trabalho permitido, em bytes, para o processo associado.

MinWorkingSet

Obtém ou define o tamanho mínimo do conjunto de trabalho permitido, em bytes, para o processo associado.

Modules

Obtém os módulos que foram carregados pelo processo associado.

NonpagedSystemMemorySize
Obsoleto.
Obsoleto.
Obsoleto.

Obtém a quantidade de memória do sistema nãopagada, em bytes, alocada para o processo associado.

NonpagedSystemMemorySize64

Obtém a quantidade de memória do sistema nãopagada, em bytes, alocada para o processo associado.

PagedMemorySize
Obsoleto.
Obsoleto.
Obsoleto.

Obtém a quantidade de memória paginada, em bytes, alocada para o processo associado.

PagedMemorySize64

Obtém a quantidade de memória paginada, em bytes, alocada para o processo associado.

PagedSystemMemorySize
Obsoleto.
Obsoleto.
Obsoleto.

Obtém a quantidade de memória do sistema paginável, em bytes, alocada para o processo associado.

PagedSystemMemorySize64

Obtém a quantidade de memória do sistema paginável, em bytes, alocada para o processo associado.

PeakPagedMemorySize
Obsoleto.
Obsoleto.
Obsoleto.

Obtém a quantidade máxima de memória no arquivo de paginação de memória virtual, em bytes, usado pelo processo associado.

PeakPagedMemorySize64

Obtém a quantidade máxima de memória no arquivo de paginação de memória virtual, em bytes, usado pelo processo associado.

PeakVirtualMemorySize
Obsoleto.
Obsoleto.
Obsoleto.

Obtém a quantidade máxima de memória virtual, em bytes, usada pelo processo associado.

PeakVirtualMemorySize64

Obtém a quantidade máxima de memória virtual, em bytes, usada pelo processo associado.

PeakWorkingSet
Obsoleto.
Obsoleto.
Obsoleto.

Obtém o tamanho do conjunto de trabalho de pico para o processo associado, em bytes.

PeakWorkingSet64

Obtém a quantidade máxima de memória física, em bytes, usada pelo processo associado.

PriorityBoostEnabled

Obtém ou define um valor que indica se a prioridade do processo associado deve ser temporariamente aumentada pelo sistema operacional quando a janela principal tem o foco.

PriorityClass

Obtém ou define a categoria de prioridade geral para o processo associado.

PrivateMemorySize
Obsoleto.
Obsoleto.
Obsoleto.

Obtém a quantidade de memória privada, em bytes, alocada para o processo associado.

PrivateMemorySize64

Obtém a quantidade de memória privada, em bytes, alocada para o processo associado.

PrivilegedProcessorTime

Obtém o tempo de processador privilegiado para esse processo.

ProcessName

Obtém o nome do processo.

ProcessorAffinity

Obtém ou define os processadores nos quais os threads nesse processo podem ser agendados para execução.

Responding

Obtém um valor que indica se a interface do usuário do processo está respondendo.

SafeHandle

Obtém o identificador nativo para esse processo.

SessionId

Obtém o identificador de sessão dos Serviços de Terminal para o processo associado.

Site

Obtém ou define o ISiteComponent.

(Herdado de Component)
StandardError

Obtém um fluxo usado para ler a saída de erro do aplicativo.

StandardInput

Obtém um fluxo usado para gravar a entrada do aplicativo.

StandardOutput

Obtém um fluxo usado para ler a saída textual do aplicativo.

StartInfo

Obtém ou define as propriedades a serem passadas para o Start() método do Process.

StartTime

Obtém o tempo em que o processo associado foi iniciado.

SynchronizingObject

Obtém ou define o objeto usado para realizar marshaling das chamadas do manipulador de eventos que são emitidas como resultado de um evento de saída do processo.

Threads

Obtém o conjunto de threads que estão em execução no processo associado.

TotalProcessorTime

Obtém o tempo total do processador para esse processo.

UserProcessorTime

Obtém o tempo do processador do usuário para esse processo.

VirtualMemorySize
Obsoleto.
Obsoleto.
Obsoleto.

Obtém o tamanho da memória virtual do processo, em bytes.

VirtualMemorySize64

Obtém a quantidade da memória virtual, em bytes, alocada para o processo associado.

WorkingSet
Obsoleto.
Obsoleto.
Obsoleto.

Obtém o uso de memória física do processo associado, em bytes.

WorkingSet64

Obtém a quantidade de memória física, em bytes, alocada para o processo associado.

Métodos

Nome Description
BeginErrorReadLine()

Inicia operações de leitura assíncronas no fluxo redirecionado StandardError do aplicativo.

BeginOutputReadLine()

Inicia operações de leitura assíncronas no fluxo redirecionado StandardOutput do aplicativo.

CancelErrorRead()

Cancela a operação de leitura assíncrona no fluxo redirecionado StandardError de um aplicativo.

CancelOutputRead()

Cancela a operação de leitura assíncrona no fluxo redirecionado StandardOutput de um aplicativo.

Close()

Libera todos os recursos associados a esse componente.

CloseMainWindow()

Fecha um processo que tem uma interface do usuário enviando uma mensagem de fechamento para sua janela principal.

CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Executa tarefas definidas pelo aplicativo associadas à liberação, liberação ou redefinição de recursos não gerenciados.

Dispose()

Libera todos os recursos usados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Libere todos os recursos usados por esse processo.

EnterDebugMode()

Coloca um Process componente no estado para interagir com processos do sistema operacional que são executados em um modo especial, habilitando a propriedade SeDebugPrivilege nativa no thread atual.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetCurrentProcess()

Obtém um novo Process componente e o associa ao processo ativo no momento.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
GetProcessById(Int32, String)

Retorna um novo Process componente, dado um identificador de processo e o nome de um computador na rede.

GetProcessById(Int32)

Retorna um novo Process componente, considerando o identificador de um processo no computador local.

GetProcesses()

Cria um novo Process componente para cada recurso de processo no computador local.

GetProcesses(String)

Cria um novo Process componente para cada recurso de processo no computador especificado.

GetProcessesByName(String, String)

Cria uma matriz de novos Process componentes e os associa a todos os recursos de processo em um computador remoto que compartilham o nome do processo especificado.

GetProcessesByName(String)

Cria uma matriz de novos Process componentes e os associa a todos os recursos de processo no computador local que compartilham o nome do processo especificado.

GetService(Type)

Retorna um objeto que representa um serviço fornecido pelo Component ou por sua Container.

(Herdado de Component)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância.

(Herdado de MarshalByRefObject)
Kill()

Interrompe imediatamente o processo associado.

Kill(Boolean)

Interrompe imediatamente o processo associado e, opcionalmente, seus processos filho/descendente.

LeaveDebugMode()

Tira um Process componente do estado que permite que ele interaja com processos do sistema operacional executados em um modo especial.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
OnExited()

Aciona o evento Exited.

Refresh()

Descarta qualquer informação sobre o processo associado que foi armazenado em cache dentro do componente do processo.

Start()

Inicia (ou reutiliza) o recurso de processo especificado pela StartInfo propriedade desse Process componente e o associa ao componente.

Start(ProcessStartInfo)

Inicia o recurso de processo especificado pelo parâmetro que contém informações de início do processo (por exemplo, o nome do arquivo do processo a ser iniciado) e associa o recurso a um novo Process componente.

Start(String, IEnumerable<String>)

Inicia um recurso de processo especificando o nome de um aplicativo e um conjunto de argumentos de linha de comando.

Start(String, String, SecureString, String)

Inicia um recurso de processo especificando o nome de um aplicativo, um nome de usuário, uma senha e um domínio e associa o recurso a um novo Process componente.

Start(String, String, String, SecureString, String)

Inicia um recurso de processo especificando o nome de um aplicativo, um conjunto de argumentos de linha de comando, um nome de usuário, uma senha e um domínio e associa o recurso a um novo Process componente.

Start(String, String)

Inicia um recurso de processo especificando o nome de um aplicativo e um conjunto de argumentos de linha de comando e associa o recurso a um novo Process componente.

Start(String)

Inicia um recurso de processo especificando o nome de um documento ou arquivo de aplicativo e associa o recurso a um novo Process componente.

ToString()

Formata o nome do processo como uma cadeia de caracteres, combinada com o tipo de componente pai, se aplicável.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
WaitForExit()

Instrui o Process componente a aguardar indefinidamente a saída do processo associado.

WaitForExit(Int32)

Instrui o Process componente a aguardar o número especificado de milissegundos para que o processo associado seja encerrado.

WaitForExit(TimeSpan)

Instrui o componente Processo a aguardar o período de tempo especificado para que o processo associado seja encerrado.

WaitForExitAsync(CancellationToken)

Instrui o componente do processo a aguardar a saída do processo associado ou para que ele cancellationToken seja cancelado.

WaitForInputIdle()

Faz com que o Process componente aguarde indefinidamente para que o processo associado insira um estado ocioso. Essa sobrecarga se aplica apenas a processos com uma interface do usuário e, portanto, a um loop de mensagem.

WaitForInputIdle(Int32)

Faz com que o Process componente aguarde o número especificado de milissegundos para que o processo associado insira um estado ocioso. Essa sobrecarga se aplica apenas a processos com uma interface do usuário e, portanto, a um loop de mensagem.

WaitForInputIdle(TimeSpan)

Faz com que o Process componente aguarde o processo especificado timeout para que o processo associado insira um estado ocioso. Essa sobrecarga se aplica apenas a processos com uma interface do usuário e, portanto, a um loop de mensagem.

Eventos

Nome Description
Disposed

Ocorre quando o componente é descartado por uma chamada para o Dispose() método.

(Herdado de Component)
ErrorDataReceived

Ocorre quando um aplicativo grava em seu fluxo redirecionado StandardError .

Exited

Ocorre quando um processo é encerrado.

OutputDataReceived

Ocorre sempre que um aplicativo grava uma linha em seu fluxo redirecionado StandardOutput .

Aplica-se a

Confira também