내 응용 프로그램과 전혀 연결되지 않은 프로그램을 어떻게 시작합니까? 즉, 하위 프로세스가 아닌 다른 부모 프로세스를 어떻게 만들 수 있습니까?C++ 기존 프로그램과 별도의 프로그램 시작
0
A
답변
1
프로세스 관계는 매우 약하다. SIGCHLD
은 없습니다. SIGHUP
의 사망을 피하기 위해 터미널 분리가 필요하지 않습니다. 실제로, 부모 프로세스는 여러 가지 환경 요소가 자동으로 자식에게 복사 될 수있는 한 중요합니다.
새 프로세스 그룹에서 프로세스 시작을 보거나 새 작업 개체에 첨부 할 수 있습니다. CREATE_NEW_PROCESS_GROUP
플래그를 참조하십시오.
0
그리고 Windows를 사용하는 경우 CreateProcess을 사용하십시오.
1
하나의 옵션은 system()
명령을 호출하는 것입니다. 이 내용은 <cstdlib>
(일명 <stdlib.h>
)에서 확인할 수 있습니다.
예 :
#include <stdlib.h>
int main(int argc, char *argv[]){
// Open the Window's Calculator:
system("C:/Windows/system32/calc.exe");
return 0;
}
당신은 통과 할 수는 system()
매개 변수로 (당신이 명령을 실행하는 데 필요한 권한이 가정)하고 싶은 명령 뭐든간에.
이 기능은 Linux/Unix 시스템에서도 작동합니다.
편집 :system()
에 전화를 구현하기 전에, 당신이 그것에 대해 this write-up을 확인 할 수 있습니다. 어떤 사람들은 system()
을 사용하는 것이 안전하지 않거나 나쁜 습관이라고 생각합니다. 그러나 무관 한 프로그램을 시작하기 위해 나는 개인적으로 system()
이 좋은 해결책이라고 믿습니다.
명령을 사용하여 호출하기 전에 system()
을 사용할 수 있는지 확인하는 것도 좋습니다. 일부 시스템에서는 쉘/명령 프롬프트를 생성 할 수 없게 될 수도 있습니다. 이 확인하려면 다음을 수행 할 수 있습니다 : Windows에서
if(system(NULL)){
// spawning a shell is allowed
system(commandToExecute);
return 0;
}else{
// spawning a shell is prohibited
return ERROR_NO_SHELL;
}
관련 문제
- 1. 웹 응용 프로그램과 별도의 프로그램 실행
- 2. C에서 별도의 응용 프로그램과 통신하는 방법 #
- 3. C#에서 설치 프로그램 시작
- 4. C#을 시작 프로그램
- 5. openSSO는 웹 응용 프로그램과 별도의 서버에 있어야합니까?
- 6. Windows에서 C# 응용 프로그램 자동 시작 시작
- 7. C# 응용 프로그램 vb6 응용 프로그램과 통신
- 8. 내 C 프로그램과 다른 프로그램 실행
- 9. 도움이 필요 시작 C++ 프로그램
- 10. 프로그램 시작 전 예외 C#
- 11. C++ 프로세스/응용 프로그램 시작
- 12. Java 프로그램에서 C++ 프로그램 시작
- 13. 창으로 프로그램 시작 하시겠습니까? C#
- 14. 새 스레드에서 마스터 프로그램 시작 슬레이브 시작
- 15. 낙타 - 기존 응용 프로그램과 통합
- 16. 프로그램 시작 (Windows 시작)
- 17. WSGI 환경에서 별도의 스레드 시작
- 18. Windows 편집 시작 응용 프로그램 C/C++
- 19. 새 응용 프로그램을 기존 기존 응용 프로그램과 통합하는 방법
- 20. 시작 데몬의 GUI로 사용자 응용 프로그램 시작
- 21. Sencha Cmd를 기존 응용 프로그램과 함께 사용
- 22. 기존 django 응용 프로그램과 django-cms 통합
- 23. Windows 7 시작 프로그램 시작 (자동 시작)
- 24. 기존 ZF2 응용 프로그램과 함께 사용하는 방법?
- 25. Java 기본 시작 프로그램 성능
- 26. Java 별도의 프로그램 기록을위한 별도의 로그 파일
- 27. 기존 C# 응용 프로그램 n 계층 만들기
- 28. 기존 웹 API를 호출하는 C# 프로그램
- 29. C++로 작성된 기존 응용 프로그램 구성
- 30. WinForms로 기존 C++ Windows 응용 프로그램 확장