를 execl과 실행할 수 없습니다?두 번
Q
두 번
-1
A
답변
4
execl은 현재 프로세스를 대체합니다. 서브 루틴이 아닙니다. 대신 system()
을 사용해보세요.
4
실행하자마자 exec*()
귀하의 응용 프로그램은 기존을 중지합니다. 둘 이상의 외부 프로세스를 실행하려면 fork()
이 필요합니다.
1
먼저 포크를해야합니다.
한번에 실행
int main(int argc, char* argv[])
{
if(vfork() == 0)
execl("/bin/echo","echo","list ","of", "files:\n",NULL);
if(vfork() == 0)
execl("/bin/ls","ls","-al",NULL);
return 0;
}
관련 문제
- 1. 두 번
- 2. 두 번
- 3. 두 번
- 4. 두 번
- 5. 두 번
- 6. 콜백을 객체에 두 번 할당하면 이벤트가 두 번 실행됩니까?
- 7. UITextView textViewShouldBeginEditing을 두 번 이상 두 번 누르면 충돌이 발생합니다.
- 8. Objective-C 속성을 두 번 설정하면 두 번 유지됩니까?
- 9. 같은 파일을 두 번 같은 함수 이름으로 두 번 포함합니다.
- 10. 두 번 양식을 제출하거나 두 번 새로 고침
- 11. 두 번 풀어 주시겠습니까?
- 12. 두 번 비교
- 13. VBA에서 나는 두 번
- 14. 생성자 코드에서 두 번
- 15. reloadData가 두 번 호출됩니까?
- 16. Jar를 두 번 실행
- 17. 두 번 빼지 않음
- 18. RenderSection을 두 번 호출 ...?
- 19. 오라클 커서 두 번
- 20. NHibernate에 두 번
- 21. 레이아웃이 두 번 렌더링됩니다.
- 22. 을 막기 두 번
- 23. 설정 ContentURL 두 번
- 24. Oracle PIVOT, 두 번?
- 25. BeautifulSoup로의 new_tag 두 번
- 26. DropDownList로 화재를 두 번
- 27. 에서 CustomAction은 두 번
- 28. TextBox에 두 번 바인딩
- 29. , 해제를 두 번 대시
- 30. 이미지가 두 번
'system'가 불량입니다. 'execl' 전에'fork '합니다. –
그러나 fork는이를 두 개의 프로세스로 나눕니다. 두 프로세스는 병렬로 실행되지만 동일한 파일 핸들에 출력을 표시합니다. 이것은 출력 중간에 표제가 표시 될 수 있습니다. 시스템이 좋지 않다는 것에 동의하지만 포크가 더 나아진 것을 볼 수 없습니다. – Mark
하나의 프로세스 (일반적으로 자식 프로세스)는 부모 프로세스와 동일한 작업을 수행하는 대신'execl'을 호출합니다. 따라서 출력의 복사본 2 개를 얻지 못합니다 (execl'의 실패를 무시하고 즉시 실패하면'_exit'). –