다음을 통해 공유


프로세스 및 환경 제어

프로세스 제어 루틴을 사용하여 시작, 중지 그리고 프로그램 내의 프로세스를 관리하십시오. 환경 제어 루틴을 이용하여 운영체제 환경의 정보를 얻고 변경하십시오.

프로세스 및 환경 제어 기능

루틴

기능

해당 .NET Framework

abort

버퍼를 플러시하거나 atexit 및 _onexit에 의해 등록된 함수를 호출하지 말고 프로세스를 중단합니다.

해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오.

assert

논리 오류를 테스트합니다.

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

_ASSERT, _ASSERTE 매크로

assert와 유사하지만, 런타임 라이브러리의 디버그 버전에서만 사용할 수 있습니다.

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

atexit

프로그램 종료 시 실행할 루틴을 예약합니다.

System::Diagnostics::Process::Exited

_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 Class, System::Diagnostics::ProcessStartInfo Class

_execle, _wexecle

인수 목록과 제공된 환경을 이용하여 새 프로세스를 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

_execlp, _wexeclp

PATH 변수와 인수 목록을 이용하여 새 프로세스를 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

_execlpe, _wexeclpe

PATH 변수, 제공된 환경, 인수 목록을 이용하여 새 프로세스를 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

_execv, _wexecv

인수 배열을 이용하여 새 프로세스를 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

_execve, _wexecve

인수 배열과 제공된 환경을 이용하여 새 프로세스를 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

_execvp, _wexecvp

PATH 변수와 인수 배열을 이용하여 새 프로세스를 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

_execvpe, _wexecvpe

PATH 변수, 제공된 환경, 인수 배열을 이용하여 새 프로세스를 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

exit

atexit 및 _onexit에 의해 등록된 함수를 호출하고, 모든 버퍼를 플러시하고, 열려 있는 모든 파일을 닫고 프로세스를 종료합니다.

System::Diagnostics::Process::Kill

_exit

atexit 또는 _onexit 또는 버퍼 플러시를 호출하지 않고 프로세스를 즉시 종료합니다.

System::Diagnostics::Process::Kill

getenv, _wgetenv, getenv_s, _wgetenv_s

환경 변수의 값을 가져옵니다.

System.Environment::GetEnvironmentVariables

_getpid

프로세스 ID 번호를 가져옵니다.

System::Diagnostics::Process::Id

longjmp

저장된 스택 환경을 복원하여, 로컬이 아닌 goto를 실행하는 데 사용합니다.

해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오.

_onexit

프로그램 종료 시 실행할 루틴을 예약합니다; Microsoft C/C++ 7.0 및 이전 버전 호환을 위해 사용합니다.

System::Diagnostics::Process::Exited

_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 Class, System::Diagnostics::ProcessStartInfo Class

_spawnle, _wspawnle

지정된 인수 목록 및 환경을 사용하여 새 프로세스를 생성하고 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

_spawnlp, _wspawnlp

PATH 변수 및 지정된 인수 목록을 사용하여 새 프로세스를 생성하고 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

_spawnlpe, _wspawnlpe

PATH 변수, 지정된 환경 및 인수 목록을 사용하여 새 프로세스를 생성하고 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

_spawnv, _wspawnv

지정된 인수 배열을 사용하여 새 프로세스를 생성하고 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

_spawnve, _wspawnve

지정된 환경 및 인수 배열을 사용하여 새 프로세스를 생성하고 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

_spawnvp, _wspawnvp

PATH 변수 및 지정된 인수 배열을 사용하여 새 프로세스를 생성하고 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

_spawnvpe, _wspawnvpe

PATH 변수, 지정된 환경 및 인수 배열을 사용하여 새 프로세스를 생성하고 실행합니다.

System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class

system, _wsystem

운영 체제 명령을 실행합니다.

System::Diagnostics::ProcessStartInfo Class, System::Diagnostics::Process Class

Windows 운영 체제에서, 스폰된 프로세스는 스포닝 프로세스와 같습니다. 모든 프로세스는 프로세스 ID가 알려진 다른 프로세스를 기다리기 위해 _cwait를 사용할 수 있습니다.

_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

배열

마지막 인수로 전달된 환경 표를 가리키는 포인터입니다.

참고 항목

참조

범주별 런타임 루틴