다음을 통해 공유


프로세스 및 환경 제어

프로세스 제어 루틴을 사용 하 여 시작, 중지 및 프로그램 내에서 프로세스를 관리 합니다.환경 제어 루틴을 사용 하 여 get 및 운영 체제 환경에 대 한 정보를 변경 합니다.

프로세스 및 환경 제어 기능

루틴

사용할 도구

.NET Framework에 있는 해당

중단

프로세스 버퍼를 플러시 하거나 등록 함수를 호출 하지 않고 중단 atexit 및_onexit

해당 사항 없음.표준 C 함수를 호출할 수 있습니다 PInvoke.자세한 내용은 플랫폼 호출 예제.

assert

논리 오류에 대 한 테스트

System::Diagnostics::Debug:: 어설션

_ASSERTE _ASSERT, 매크로

마찬가지로 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를 _wgetenv,getenv_s, _wgetenv_s

환경 변수의 값 가져오기

System::Environment::GetEnvironmentVariable

_getpid

프로세스 ID 번호 가져오기

System::Diagnostics::Process::Id

longjmp

스택 환경 복원 저장 됩니다. 이 nonlocal 실행할 수 있습니다goto

해당 사항 없음.표준 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.자세한 내용은 플랫폼 호출 예제.

_wputenv _putenv,,_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 운영 체제에서 생성 된 프로세스 spawning 프로세스에 해당 하는 것입니다.모든 프로세스를 사용할 수 있습니다 _cwait 프로세스 ID에 대 한 알려진 다른 프로세스에 대 한 기다려야 합니다.

차이점은 _exec 및 _spawn 제품군 되어는 _spawn 함수 반환할 수 있습니다 컨트롤에서 새 프로세스에 호출 프로세스.에 _spawn 함수 호출 프로세스와 새 프로세스는 메모리에 존재 하지 않으면 _P_OVERLAY 지정 됩니다.에 _exec 함수, 새 프로세스의 실행을 시작 하는 동안 오류가 발생 하지 않으면 호출 프로세스에 제어를 반환할 수 없습니다 있으므로 호출 처리 새 프로세스가 오버레이.

기능에 차이가 _exec 제품군와 사이에서 _spawn 제품군, 새 프로세스에 인수 전달 됩니다 새 프로세스 및 환경에서 설정 하는 방법에는 다음 표에 나와 있는 것 처럼 양식 실행 파일을 찾는 방법을 포함 합니다.인수의 수를 일정 하 게 또는 컴파일 타임에 인식 되 면 인수 목록이 전달 하는 함수를 사용 합니다.인수 개수가 실행된 시간에 결정 하는 경우 해당 인수를 포함 하는 배열에 대 한 포인터를 전달 하는 함수를 사용 합니다.와이드 문자 해당 요소에도 적용 되는 다음 표에 나와 있는 정보는 _spawn 및 _exec 함수입니다.

_exec 및 _spawn 함수 패밀리

함수

PATH 변수를 사용 하 여 파일을 찾습니다

인수 전달 규칙

환경 설정

_execl, _spawnl

아니요

List

호출 과정에서 상속 합니다.

_execle, _spawnle

아니요

List

환경 테이블의 마지막 인수로 전달 하 여 새 프로세스에 대 한 포인터

_execlp, _spawnlp

List

호출 과정에서 상속 합니다.

_execlpe, _spawnlpe

List

환경 테이블의 마지막 인수로 전달 하 여 새 프로세스에 대 한 포인터

_execv, _spawnv

아니요

배열

호출 과정에서 상속 합니다.

_execve, _spawnve

아니요

배열

환경 테이블의 마지막 인수로 전달 하 여 새 프로세스에 대 한 포인터

_execvp, _spawnvp

배열

호출 과정에서 상속 합니다.

_execvpe, _spawnvpe

배열

환경 테이블의 마지막 인수로 전달 하 여 새 프로세스에 대 한 포인터

참고 항목

참조

범주별 런타임 루틴