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 |
---|---|---|
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. |
|
Test dell'errore logico |
||
_ASSERT, _ASSERTE macro |
simile a assert, ma è disponibile solo nelle versioni di debug delle librerie di runtime |
|
Routine di pianificazione per l'esecuzione fino alla chiusura del programma |
||
Creare un nuovo thread in un processo del sistema operativo Windows |
||
eseguire exit le procedure di chiusura (come svuotare il buffer), quindi restituisce il controllo al programma chiamante senza processo di terminazione |
||
eseguire _exit le procedure di chiusura, quindi restituisce il controllo al programma chiamante senza processo di terminazione |
||
Attendere a un altro processo terminerà |
||
Terminare un thread del sistema operativo Windows |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
nuovo processo di esecuzione con l'elenco di argomenti |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
nuovo processo di esecuzione con l'elenco di argomenti e l'ambiente specificato |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
Nuovo processo di esecuzione tramite PATH variabile e un elenco di argomenti |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
Nuovo processo di esecuzione tramite PATH variabile, fornita ambiente e un elenco di argomenti |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
Nuovo processo di esecuzione con matrice di argomenti |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
Nuovo processo di esecuzione con matrice di argomenti e l'ambiente specificato |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
Nuovo processo di esecuzione tramite PATH variabile e matrice di argomenti |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
Nuovo processo di esecuzione tramite PATH variabile, fornita ambiente e matrice di argomenti |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
Chiamare le funzioni registrate da atexit e _onexit, svuotare tutti i buffer, chiudere tutti i file aperti e terminare il processo |
||
terminare il processo immediatamente senza chiamare atexit o _onexit o modo i buffer |
||
Ottenere il valore della variabile di ambiente |
||
Ottenere il numero ID processo |
||
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. |
|
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 |
||
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. |
|
Messaggio di errore di stampa |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
Creare una pipe per leggere e scrivere |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
Creare una pipe ed eseguire il comando |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
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. |
|
Inviare un segnale al processo chiamante |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
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 di interruzione di handle |
Non applicabile.Per chiamare la funzione c standard, utilizzare PInvoke.Per ulteriori informazioni, vedere Esempi di pinvoke. |
|
Creare ed eseguire il nuovo processo con l'elenco di argomenti specificato |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
Creare ed eseguire il nuovo processo con l'elenco di argomenti e l'ambiente specificati |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
Creare ed eseguire il nuovo processo utilizzando PATH elenco di argomenti variabile e specificato |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
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 |
|
Creare ed eseguire il nuovo processo con matrice di argomenti specificata |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
Creare ed eseguire il nuovo processo con l'ambiente e la matrice di argomenti specificati |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
Creare ed eseguire il nuovo processo utilizzando PATH matrice di argomenti variabili e specificata |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
Creare ed eseguire il nuovo processo utilizzando PATH variabile, determinato ambiente e matrice di argomenti |
System:: diagnostica:: Classe processo, System:: diagnostica:: classe di ProcessStartInfo |
|
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 |
Sì |
Elenco |
Ereditato dal processo chiamante |
_execlpe, _spawnlpe |
Sì |
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 |
Sì |
Matrice |
Ereditato dal processo chiamante |
_execvpe, _spawnvpe |
Sì |
Matrice |
Puntatore alla tabella dell'ambiente per il nuovo processo passato ultima come argomento |