Condividi tramite


Processo e controllo ambiente

Utilizzare le routine di controllo dell'elaborazione per avviare, interrompere e gestire i processi dall'interno di un programma.Utilizzare le routine di ambiente-controllo per ottenere e le informazioni sulle modifiche sull'ambiente del sistema operativo.

Funzioni del controllo ambiente e di processo

routine

Utilizzare

equivalente di .NET Framework

interruzione

Il processo di interruzione senza svuotare il buffer o le funzioni chiamanti registrato da atexit e _onexit

Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke.

assert

Test dell'errore logico

System:: diagnostica:: debug:: asserzione

_ASSERT, _ASSERTE macro

simile a assert, ma è disponibile solo nelle versioni di debug delle librerie di runtime

System:: diagnostica:: debug:: asserzione

atexit

Routine di pianificazione per l'esecuzione fino alla chiusura del programma

System:: diagnostica:: processo:: Disconnessione

_beginthread, _beginthreadex

Creare un nuovo thread in un processo del sistema operativo Windows

System:: Multithreading:: thread:: inizio

_cexit

eseguire exit le procedure di chiusura (come svuotare il buffer), quindi restituisce il controllo al programma chiamante senza processo di terminazione

System:: diagnostica:: processo:: CloseMainWindow

_c_exit

eseguire _exit le procedure di chiusura, quindi restituisce il controllo al programma chiamante senza processo di terminazione

System:: diagnostica:: processo:: CloseMainWindow

_cwait

Attendere a un altro processo terminerà

System:: diagnostica:: processo:: WaitForExit

_endthread, _endthreadex

Terminare un thread del sistema operativo Windows

Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke.

_execl, _wexecl

nuovo processo di esecuzione con l'elenco di argomenti

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_execle, _wexecle

nuovo processo di esecuzione con l'elenco di argomenti e l'ambiente specificato

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_execlp, _wexeclp

Nuovo processo di esecuzione tramite PATH variabile e un elenco di argomenti

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_execlpe, _wexeclpe

Nuovo processo di esecuzione tramite PATH variabile, fornita ambiente e un elenco di argomenti

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_execv, _wexecv

Nuovo processo di esecuzione con matrice di argomenti

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_execve, _wexecve

Nuovo processo di esecuzione con matrice di argomenti e l'ambiente specificato

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_execvp, _wexecvp

Nuovo processo di esecuzione tramite PATH variabile e matrice di argomenti

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_execvpe, _wexecvpe

Nuovo processo di esecuzione tramite PATH variabile, fornita ambiente e matrice di argomenti

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

exit

Chiamare le funzioni registrate da atexit e _onexit, svuotare tutti i buffer, chiudere tutti i file aperti e terminare il processo

System:: diagnostica:: processo:: uccisione

_exit

terminare il processo immediatamente senza chiamare atexit o _onexit o modo i buffer

System:: diagnostica:: processo:: uccisione

getenv, _wgetenv, getenv_s, _wgetenv_s

Ottenere il valore della variabile di ambiente

System:: ambiente:: GetEnvironmentVariable

_getpid

Ottenere il numero ID processo

System:: diagnostica:: processo:: identificazione

longjmp

Ambiente dello stack salvato ripristino, utilizzarla per eseguire un nonlocal goto

Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke.

_onexit

Pianificare le routine per l'esecuzione fino alla chiusura del programma; utilizzare per compatibilità con le versioni 7,0 C/C++ Microsoft e versioni precedenti

System:: diagnostica:: processo:: Disconnessione

_pclose

Attendere il nuovo processore dei comandi e chiude il flusso sulle pipe associate

Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke.

perror, _wperror

Messaggio di errore di stampa

Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke.

_pipe

Creare una pipe per leggere e scrivere

Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke.

_popen, _wpopen

Creare una pipe ed eseguire il comando

Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke.

_putenv, _wputenv, _putenv_s, _wputenv_s

Aggiungere o modificare il valore della variabile di ambiente

Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke.

raise

Inviare un segnale al processo chiamante

Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke.

setjmp

Salvare l'ambiente dello stack, utilizzare per l'esecuzione non locale goto

Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke.

segnale

Segnale di interruzione di handle

Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke.

_spawnl, _wspawnl

Creare ed eseguire il nuovo processo con l'elenco di argomenti specificato

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_spawnle, _wspawnle

Creare ed eseguire il nuovo processo con l'elenco di argomenti e l'ambiente specificati

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_spawnlp, _wspawnlp

Creare ed eseguire il nuovo processo utilizzando PATH elenco di argomenti variabile e specificato

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_spawnlpe, _wspawnlpe

Creare ed eseguire il nuovo processo utilizzando PATH variabile, determinato ambiente e un elenco di argomenti

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_spawnv, _wspawnv

Creare ed eseguire il nuovo processo con matrice di argomenti specificata

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_spawnve, _wspawnve

Creare ed eseguire il nuovo processo con l'ambiente e la matrice di argomenti specificati

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_spawnvp, _wspawnvp

Creare ed eseguire il nuovo processo utilizzando PATH matrice di argomenti variabili e specificata

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

_spawnvpe, _wspawnvpe

Creare ed eseguire il nuovo processo utilizzando PATH variabile, determinato ambiente e matrice di argomenti

System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo

sistema, _wsystem

Eseguire il comando del sistema operativo

System:: diagnostica:: classe di ProcessStartInfo, System:: diagnostica:: Classe processo

Nel sistema operativo Windows, il processo generato è equivalente al processo che lo genera.Qualsiasi processo può utilizzare _cwait per attendere qualsiasi altro processo per il quale l'ID processo è noto.

La differenza tra _exec e _spawn i gruppi è che a _spawn la funzione può restituire il controllo da nuovo processo al processo chiamante.In _spawn la funzione, sia il processo chiamante che il nuovo processo è presente in memoria a meno che _P_OVERLAY è specificato.in _exec la funzione, il nuovo processo si sovrapponga al processo chiamante, il controllo non può restituire al processo chiamante a meno che un errore si verifica nel tentativo di avviare l'esecuzione del nuovo processo.

Le differenze tra le funzioni in _exec famiglia nonché tra quelli in _spawn la famiglia, incluso il metodo di individuazione del file da eseguire come nuovo processo, il form in cui gli argomenti vengono passati al nuovo processo e il metodo di configurare l'ambiente, come illustrato nella tabella seguente.Utilizzare una funzione che passa un elenco di argomenti quando il numero di argomenti è costante o è noto in fase di compilazione.Utilizzare una funzione che consente di passare un puntatore a una matrice contenente gli argomenti quando il numero di argomenti è necessario determinare in fase di esecuzione.Le informazioni nella tabella seguente si applicano anche alle controparti a caratteri estesi di _spawn e _exec funzioni.

gruppi di funzioni _exec e di _spawn

Funzioni

Utilizzare la variabile di PATH per individuare il file

Argomento-passaggio la convenzione

impostazioni di ambiente

_execl, _spawnl

No

Elenco

Ereditato dal processo chiamante

_execle, _spawnle

No

Elenco

Puntatore alla tabella dell'ambiente per il nuovo processo passato ultima come argomento

_execlp, _spawnlp

Elenco

Ereditato dal processo chiamante

_execlpe, _spawnlpe

Elenco

Puntatore alla tabella dell'ambiente per il nuovo processo passato ultima come argomento

_execv, _spawnv

No

Matrice

Ereditato dal processo chiamante

_execve, _spawnve

No

Matrice

Puntatore alla tabella dell'ambiente per il nuovo processo passato ultima come argomento

_execvp, _spawnvp

Matrice

Ereditato dal processo chiamante

_execvpe, _spawnvpe

Matrice

Puntatore alla tabella dell'ambiente per il nuovo processo passato ultima come argomento

Vedere anche

Riferimenti

Routine di runtime per la categoria