프로세스 및 환경 제어
프로세스 제어 루틴을 사용하여 시작, 중지 그리고 프로그램 내의 프로세스를 관리하십시오. 환경 제어 루틴을 이용하여 운영체제 환경의 정보를 얻고 변경하십시오.
프로세스 및 환경 제어 기능
루틴 |
기능 |
해당 .NET Framework |
---|---|---|
버퍼를 플러시하거나 atexit 및 _onexit에 의해 등록된 함수를 호출하지 말고 프로세스를 중단합니다. |
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오. |
|
논리 오류를 테스트합니다. |
||
assert와 유사하지만, 런타임 라이브러리의 디버그 버전에서만 사용할 수 있습니다. |
||
프로그램 종료 시 실행할 루틴을 예약합니다. |
||
Windows 운영 체제 프로세스에서 새 스레드를 생성합니다. |
||
exit 종료 프로시저 (예: 버퍼 플러시) 를 실행한 뒤, 프로세스를 종료하지 않고 프로그램을 호출하기 위해 컨트롤을 반환합니다. |
||
_exit 종료 프로시저를 실행한 뒤, 프로세스를 종료하지 않고 프로그램을 호출하기 위해 컨트롤을 반환합니다. |
||
다른 프로세스가 종료될 때까지 기다립니다. |
||
Windows 운영 체제 스레드를 종료합니다. |
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오. |
|
인수 목록을 이용하여 새 프로세스를 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
인수 목록과 제공된 환경을 이용하여 새 프로세스를 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
PATH 변수와 인수 목록을 이용하여 새 프로세스를 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
PATH 변수, 제공된 환경, 인수 목록을 이용하여 새 프로세스를 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
인수 배열을 이용하여 새 프로세스를 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
인수 배열과 제공된 환경을 이용하여 새 프로세스를 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
PATH 변수와 인수 배열을 이용하여 새 프로세스를 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
PATH 변수, 제공된 환경, 인수 배열을 이용하여 새 프로세스를 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
atexit 및 _onexit에 의해 등록된 함수를 호출하고, 모든 버퍼를 플러시하고, 열려 있는 모든 파일을 닫고 프로세스를 종료합니다. |
||
atexit 또는 _onexit 또는 버퍼 플러시를 호출하지 않고 프로세스를 즉시 종료합니다. |
||
환경 변수의 값을 가져옵니다. |
||
프로세스 ID 번호를 가져옵니다. |
||
저장된 스택 환경을 복원하여, 로컬이 아닌 goto를 실행하는 데 사용합니다. |
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오. |
|
프로그램 종료 시 실행할 루틴을 예약합니다; Microsoft C/C++ 7.0 및 이전 버전 호환을 위해 사용합니다. |
||
새 명령 프로세서를 기다렸다가 연결 파이프의 스트림을 닫습니다 |
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오. |
|
오류 메시지를 출력합니다. |
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오. |
|
읽기 및 쓰기에 대한 파이프를 만듭니다. |
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오. |
|
파이프를 생성하고 명령을 실행합니다. |
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오. |
|
환경 변수의 값을 추가하거나 변경합니다. |
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오. |
|
호출 프로세스에 신호를 보냅니다. |
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오. |
|
스택 환경을 저장합니다; 로컬이 아닌 goto를 실행하기 위해 사용합니다. |
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오. |
|
인터럽트 신호를 처리합니다. |
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오. |
|
지정된 인수 목록을 사용하여 새 프로세스를 생성하고 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
지정된 인수 목록 및 환경을 사용하여 새 프로세스를 생성하고 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
PATH 변수 및 지정된 인수 목록을 사용하여 새 프로세스를 생성하고 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
PATH 변수, 지정된 환경 및 인수 목록을 사용하여 새 프로세스를 생성하고 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
지정된 인수 배열을 사용하여 새 프로세스를 생성하고 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
지정된 환경 및 인수 배열을 사용하여 새 프로세스를 생성하고 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
PATH 변수 및 지정된 인수 배열을 사용하여 새 프로세스를 생성하고 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
PATH 변수, 지정된 환경 및 인수 배열을 사용하여 새 프로세스를 생성하고 실행합니다. |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
운영 체제 명령을 실행합니다. |
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 |
예 |
배열 |
마지막 인수로 전달된 환경 표를 가리키는 포인터입니다. |