Share via


處理程序和環境控制

您可以使用 [處理程序控制常式來啟動、 停止及管理程式中的程序。 使用環境控制常式來取得及變更作業系統環境的相關資訊。

處理程序和環境控制函式

常式

使用

.NET Framework 的對等用法

中止

中止處理程序,而不會清除緩衝區,或呼叫函式所登錄的atexit ,_onexit

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

assert

邏輯錯誤的測試

System::Diagnostics::Debug:: 判斷提示

_Assert 狀況,_asserte 的判斷提示巨集

類似於assert,但只適用於執行階段程式庫的偵錯版本

System::Diagnostics::Debug:: 判斷提示

atexit

在程式終止執行排程常式

System::Diagnostics::Process:: 結束

_beginthread _beginthreadex

在 Windows 作業系統處理程序中建立新的執行緒

System::Threading::Thread::Start

_cexit

執行exit終止程序 (例如,在清除緩衝區),然後傳回控制給呼叫程式而不需要終止處理程序

System::Diagnostics::Process::CloseMainWindow

_c_exit

執行_exit終止程序,然後傳回控制給呼叫程式而不需要終止處理程序

System::Diagnostics::Process::CloseMainWindow

_cwait

請等候另一個處理序終止

System::Diagnostics::Process::WaitForExit

_endthread _endthreadex

結束 Windows 作業系統執行緒

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

_execl _wexecl

執行新的處理程序與引數清單

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_execle _wexecle

執行新的處理序使用引數清單和某一環境

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_execlp _wexeclp

執行新的處理程序使用PATH變數和引數清單

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_execlpe _wexeclpe

執行新的處理程序使用PATH變數,指定的環境,以及引數清單

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_execv _wexecv

執行新的處理序的引數陣列

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_execve _wexecve

執行新的處理序具有引數陣列和指定的環境

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_execvp _wexecvp

執行新的處理程序使用PATH變數和引數的陣列

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_execvpe _wexecvpe

執行新的處理程序使用PATH變數,指定的環境,以及引數陣列

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

exit

呼叫函式所登錄的atexit和_onexit,清除所有的緩衝區,關閉所有開啟檔案,並終止處理程序

System::Diagnostics::Process::Kill

_exit

終止處理序立即而電話不atexit或_onexit或清除緩衝區

System::Diagnostics::Process::Kill

getenv,_wgetenvgetenv_s _wgetenv_s

取得環境變數的值

System::Environment::GetEnvironmentVariable

_getpid

取得處理序身分證字號

System::Diagnostics::Process::Id

longjmp

還原儲存堆疊環境。 用它來執行 nonlocalgoto

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

_onexit

程式終止 ; 在執行排程常式 用來與 Microsoft C/C++ 7.0 版或更早版本的相容性

System::Diagnostics::Process:: 結束

_pclose

等候新的命令處理器,並關閉資料流相關聯的管道

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

perror _wperror

列印錯誤訊息

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

_pipe

建立用於讀取和寫入管道

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

_popen _wpopen

建立管道,以及執行命令

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

_putenv,_wputenv_putenv_s _wputenv_s

新增或變更環境變數的值

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

raise

將訊號傳送至呼叫程序

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

setjmp

儲存堆疊環境。 用來執行非本機goto

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

訊號

處理插斷訊號

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

_spawnl _wspawnl

建立和執行新的處理序使用指定的引數清單

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_spawnle _wspawnle

建立和執行新的處理序使用指定的引數清單與環境

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_spawnlp _wspawnlp

建立和執行新的處理程序使用PATH變數和指定的引數清單

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_spawnlpe _wspawnlpe

建立和執行新的處理程序使用PATH變數、 指定的環境,以及引數清單

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_spawnv _wspawnv

建立和執行新的處理程序,以指定的引數陣列

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_spawnve _wspawnve

建立和執行新的處理程序,以指定的環境和引數陣列

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_spawnvp _wspawnvp

建立和執行新的處理程序使用PATH變數,並指定的引數陣列

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

_spawnvpe _wspawnvpe

建立和執行新的處理程序使用PATH變數、 指定的環境,以及引數陣列

System::Diagnostics::Process 類別System::Diagnostics::ProcessStartInfo 類別

系統中 _wsystem

執行作業系統命令

System::Diagnostics::ProcessStartInfo 類別System::Diagnostics::Process 類別

在 Windows 作業系統繁衍 (spawn) 的程序相當於繁衍處理序。 任何處理程序可以使用_cwait等候處理序 ID 已知的任何其他處理程序。

之間的差異_exec和_spawn家族是_spawn函式會傳回控制項從新的處理程序呼叫程序。 在_spawn函式,這兩個呼叫程序,並在記憶體中有新的處理序除非_P_OVERLAY所指定。 在_exec函式、 新的處理程序覆疊電話處理,因此控制項無法傳回呼叫處理程序,除非嘗試開始執行新的處理序中發生錯誤。

中的函式之間的差異_exec ,以及於在_spawn家族,涉及找出要執行新程序當中,順序引數傳遞至新的處理序,並設定環境的方法如下表所示的表單檔案的方法。 使用引數數目是常數,或在編譯時期已知時,會傳遞的引數清單的函式。 使用的函數,將指標傳遞至陣列,其中包含引數,引數數目時若要在執行階段決定。 下表中的資訊也適用於的寬字元對應_spawn和_exec函式。

_spawn 和 _exec 函式家族

功能

找不到檔案中使用 PATH 變數

引數傳遞轉換

環境設定

_execl, _spawnl

List

從呼叫程序繼承而來

_execle, _spawnle

List

新的處理序的環境資料表指標傳遞做為最後一個引數

_execlp, _spawnlp

List

從呼叫程序繼承而來

_execlpe, _spawnlpe

List

新的處理序的環境資料表指標傳遞做為最後一個引數

_execv, _spawnv

陣列

從呼叫程序繼承而來

_execve, _spawnve

陣列

新的處理序的環境資料表指標傳遞做為最後一個引數

_execvp, _spawnvp

陣列

從呼叫程序繼承而來

_execvpe, _spawnvpe

陣列

新的處理序的環境資料表指標傳遞做為最後一個引數

請參閱

參考

依類別的執行階段常式