Compartilhar via


Processo e controle de ambiente

Use as rotinas controle de processo para iniciar, parar, e gerenciar processos do programa. Use as rotinas de ambiente- controle para obter e modificar informações sobre o ambiente de sistema operacional.

Funções do processo e controle de ambiente

Rotina

Uso

Equivalente a .NET Framework

anular

O processo de anulação sem enviar buffers ou funções de chamada registrados por atexit e por _onexit

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

assert

Teste para o erro lógico

System::Diagnostics::Debug::Assert

macros de_ASSERT, _ASSERTE

Semelhante a, mas assertdisponível somente nas versões de depuração das bibliotecas de tempo de execução

System::Diagnostics::Debug::Assert

atexit

Rotinas da agenda para a execução no encerramento de programa

System::Diagnostics::Process::Exited

_beginthread, _beginthreadex

Crie um novo thread em um processo do sistema operacional Windows

System::Threading::Thread::Start

_cexit

Executar procedimentos de término de exit (como liberar buffers), então retornará o controle ao programa de chamada sem finalizar o processo

System::Diagnostics::Process::CloseMainWindow

_c_exit

Executar procedimentos de término de _exit , então retornará o controle ao programa de chamada sem finalizar o processo

System::Diagnostics::Process::CloseMainWindow

_cwait

Espere até que outro processo termina

System::Diagnostics::Process::WaitForExit

_endthread, _endthreadex

Encerrar um thread do sistema operacional Windows

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

_execl, _wexecl

Executar o novo processo com a lista de argumentos

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_execle, _wexecle

Executar o novo processo com a lista de argumentos e ambiente específico

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_execlp, _wexeclp

Executar o novo processo usando uma variável de PATH e a lista de argumentos

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_execlpe, _wexeclpe

Executar o novo processo usando uma variável de PATH , dado o ambiente, e a lista de argumentos

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_execv, _wexecv

Executar o novo processo com matriz de argumentos

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_execve, _wexecve

Executar o novo processo com matriz de argumentos e ambiente específico

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_execvp, _wexecvp

Executar o novo processo usando uma variável de PATH e a matriz de argumentos

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_execvpe, _wexecvpe

Executar o novo processo usando uma variável de PATH , dado o ambiente, e a matriz de argumentos

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

saída

As funções de chamada registradas por atexit e _onexit, liberar todos os buffers, fechará todos os arquivos abertos, e finalizam o processo

System::Diagnostics::Process::Kill

_exit

Término do processo imediatamente sem chamar atexit ou _onexit ou liberar buffers

System::Diagnostics::Process::Kill

getenv, _wgetenv, getenv_s, _wgetenv_s

Obter o valor da variável de ambiente

System::Environment::GetEnvironmentVariable

_getpid

Obter o número de identificação do processo

System::Diagnostics::Process::Id

longjmp

Ambiente salvo restauração de pilha; use o para executar gotononlocal

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

_onexit

Rotinas da agenda para a execução no encerramento de programa; use para compatibilidade com a versão 7,0 do Microsoft C/C++ e anterior

System::Diagnostics::Process::Exited

_pclose

Aguarde o novo processador de comando e feche o fluxo para o pipe associado

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

perror, _wperror

Mensagem de erro de cópia

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

_pipe

Crie o pipe para ler e gravar

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

_popen, _wpopen

Crie o pipe e execute o comando

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

_putenv, _wputenv, _putenv_s, _wputenv_s

Adicionar ou alterar o valor da variável de ambiente

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

gerar

Enviar o sinal para o processo de chamada

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

setjmp

Salve o ambiente de pilha; use o para executar gotonão local

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

sinal

Sinal de interrupção de identificador

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

_spawnl, _wspawnl

Criar e executar o novo processo com a lista de argumentos especificada

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_spawnle, _wspawnle

Criar e executar o novo processo com a lista de argumentos especificados e ambiente

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_spawnlp, _wspawnlp

Criar e executar o novo processo usando uma variável de PATH e a lista de argumentos especificada

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_spawnlpe, _wspawnlpe

Criar e executar o novo processo usando uma variável de PATH , o ambiente especificado, e a lista de argumentos

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_spawnv, _wspawnv

Criar e executar o novo processo com matriz especificada do argumento

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_spawnve, _wspawnve

Criar e executar o novo processo com matriz especificada de ambiente e o argumento

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_spawnvp, _wspawnvp

Criar e executar o novo processo usando uma variável de PATH e a matriz especificada do argumento

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

_spawnvpe, _wspawnvpe

Criar e executar o novo processo usando uma variável de PATH , o ambiente especificado, e a matriz de argumentos

Classe de System::Diagnostics::Process, Classe de System::Diagnostics::ProcessStartInfo

o sistema, _wsystem

Execute o comando de sistema operacional

Classe de System::Diagnostics::ProcessStartInfo, Classe de System::Diagnostics::Process

No sistema operacional Windows, o processo gerado é equivalente ao processo desovando. Qualquer processo pode usar _cwait para aguardar qualquer outro processo para que o ID de processo é conhecido.

A diferença entre _exec e famílias de _spawn que é uma função de _spawn pode devolver o controle do novo processo para o processo de chamada. Em uma função de _spawn , o processo de chamada e o novo processo estão presentes na memória _P_OVERLAY a menos que seja especificado. Em uma função de _exec , o novo processo será interrompido o processo de chamada, para que o controle não pode retornar para o processo de chamada a menos que um erro ocorrer na tentativa de iniciar a execução do novo processo.

As diferenças entre as funções da família de _exec , bem como entre essas da família de _spawn , envolvem o método de localizar o arquivo a ser executado como o novo processo, o formulário nos argumentos que são passados para o novo processo, e o método de definição do ambiente, como mostra a tabela a seguir. Use uma função que transmite uma lista de argumento quando o número de argumentos é constante ou é conhecido em tempo de compilação. Use uma função que transmite um ponteiro para uma matriz que contém os argumentos quando o número de casos deve ser determinada em tempo de execução. As informações na tabela a seguir também se aplica a contraparte de ampla caractere das funções de _spawn e de _exec .

famílias da função de _spawn e de _exec

Funções

Use a variável PATH para localizar o arquivo

Convenção de passagem de argumentos

Configurações de ambiente

_execl, _spawnl

Não

Lista

Herdado do processo de chamada

_execle, _spawnle

Não

Lista

O ponteiro para a tabela de ambiente para o novo processo passado como o último argumento

_execlp, _spawnlp

Sim

Lista

Herdado do processo de chamada

_execlpe, _spawnlpe

Sim

Lista

O ponteiro para a tabela de ambiente para o novo processo passado como o último argumento

_execv, _spawnv

Não

Matriz

Herdado do processo de chamada

_execve, _spawnve

Não

Matriz

O ponteiro para a tabela de ambiente para o novo processo passado como o último argumento

_execvp, _spawnvp

Sim

Matriz

Herdado do processo de chamada

_execvpe, _spawnvpe

Sim

Matriz

O ponteiro para a tabela de ambiente para o novo processo passado como o último argumento

Consulte também

Referência

Rotinas de tempo de execução por categoria