Processo e controle do ambiente
Use as rotinas de controle de processo para iniciar, parar e gerenciar processos de dentro de um programa.Use as rotinas de controle do ambiente para obter e alterar informações sobre o ambiente do sistema operacional.
Processo e as funções de controle do ambiente
Rotina |
Uso |
.Equivalente do NET Framework |
---|---|---|
Anular o processo sem buffers de liberação ou chamar funções registradas por atexit e_onexit |
Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma. |
|
Teste para erro de lógica |
||
_ASSERT, _ASSERTE macros |
Semelhante a assert, mas só está disponível nas versões de depuração das bibliotecas de tempo de execução |
|
Rotinas de agendamento para execução em término do programa |
||
Criar um novo segmento em um processo do sistema operacional Windows |
||
Execute exit os procedimentos de terminação (como a liberação de buffers), devolver o controle ao programa de chamada sem encerrar processo |
||
Execute _exit procedimentos de terminação, devolver o controle ao programa de chamada sem encerrar processo |
||
Aguarde até que o outro processo é encerrado |
||
Encerrar um segmento do sistema operacional Windows |
Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma. |
|
Executar o processo de novo com a lista de argumentos |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Executar o novo processo com a lista de argumentos e de acordo com ambiente |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Executar o novo processo usando PATH lista variável e o argumento |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Executar o novo processo usando PATH variável, considerando o ambiente e a lista de argumentos |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Executar o processo de novo com a matriz de argumentos |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Executar o novo processo com a matriz de argumentos e de acordo com ambiente |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Executar o novo processo usando PATH variável e o argumento de matriz |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Executar o novo processo usando PATH variável, considerando o ambiente e a matriz de argumentos |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Chamar funções registradas por atexit e _onexit, liberar todos os buffers, fechar todos os arquivos abertos e encerrar o processo |
||
Encerrar o processo imediatamente, sem chamada atexit ou _onexit ou liberação de buffers |
||
Obter o valor da variável de ambiente |
||
Obtenha o número de identificação de processo |
||
Ambiente de pilha de restauração salva; usá-lo para executar um não-locaisgoto |
Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma. |
|
Rotinas de agendamento para execução em término do programa; Use para compatibilidade com a versão 7.0 do Microsoft C/C++ e anterior |
||
Aguarde o novo processador de comando e fechar o fluxo em pipe associado |
Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma. |
|
Mensagem de erro de impressão. |
Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma. |
|
Criar pipe para leitura e gravação |
Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma. |
|
Criar pipe e executar o comando |
Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma. |
|
Adicionar ou alterar o valor da variável de ambiente |
Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma. |
|
Enviar o sinal para o processo de chamada |
Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma. |
|
Salvar o ambiente de pilha. Use para executar non localgoto |
Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma. |
|
Lidar com o sinal de interrupção |
Não aplicável.Para chamar a função c padrão, use PInvoke.Para obter mais informações, consulte Exemplos de invocação de plataforma. |
|
Criar e executar o novo processo com a lista de argumentos especificado |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Criar e executar o novo processo com a lista de argumento especificado e o ambiente |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Criar e executar o novo processo usando PATH variável e lista de argumentos especificado |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Criar e executar o novo processo usando PATH variável de ambiente especificada e lista de argumentos |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Criar e executar o novo processo com a matriz de argumento especificado |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Criar e executar o novo processo com ambiente especificada e a matriz de argumentos |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Criar e executar o novo processo usando PATH variável e matriz de argumento especificado |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Criar e executar o novo processo usando PATH variável de ambiente especificada e matriz de argumentos |
Classe System::Diagnostics::Process, System::Diagnostics::ProcessStartInfo classe |
|
Execute o comando do sistema operacional |
Classe System::Diagnostics::ProcessStartInfo, System::Diagnostics::Process classe |
No sistema operacional Windows, o processo gerado é equivalente ao processo de geração.Qualquer processo pode usar _cwait para aguardar a qualquer outro processo para o qual a identificação do processo é conhecida.
A diferença entre a _exec e _spawn famílias é que uma _spawn função pode retornar o controle do processo de novo para o processo de chamada.Em um _spawn funcionar, tanto o processo de chamada e o novo processo estão presentes na memória, a menos que _P_OVERLAY é especificado.Em um _exec função, as sobreposições de processo novo processar a chamada, para que o controle não pode retornar para o processo de chamada, a menos que ocorre um erro ao tentar iniciar a execução do novo processo.
As diferenças entre as funções na _exec da família, bem como entre aqueles na _spawn família, envolvem o método de localizar o arquivo a ser executado como o novo processo, o formulário no qual os argumentos são passados para o novo processo e o método de configuração do ambiente, como mostrado na tabela a seguir.Use uma função que passa uma lista de argumentos, quando o número de argumentos constante ou conhecido em tempo de compilação.Use uma função que passa um ponteiro para uma matriz que contém os argumentos, quando o número de argumentos é para ser determinado em tempo de execução.As informações na tabela a seguir também se aplica para as suas similares do caractere largo da _spawn e _exec funções.
Famílias de função de _spawn e _exec
Funções |
Use a variável PATH para localizar o arquivo |
Convenção de passagem de argumento |
Configurações de ambiente |
---|---|---|---|
_execl, _spawnl |
Não |
List |
Herdadas do processo de chamada |
_execle, _spawnle |
Não |
List |
Ponteiro para a tabela de ambiente para o novo processo é passado como o último argumento |
_execlp, _spawnlp |
Sim |
List |
Herdadas do processo de chamada |
_execlpe, _spawnlpe |
Sim |
List |
Ponteiro para a tabela de ambiente para o novo processo é passado como o último argumento |
_execv, _spawnv |
Não |
Matriz |
Herdadas do processo de chamada |
_execve, _spawnve |
Não |
Matriz |
Ponteiro para a tabela de ambiente para o novo processo é passado como o último argumento |
_execvp, _spawnvp |
Sim |
Matriz |
Herdadas do processo de chamada |
_execvpe, _spawnvpe |
Sim |
Matriz |
Ponteiro para a tabela de ambiente para o novo processo é passado como o último argumento |