아이콘을 클릭하고 init을 사용하여 새로운 프로세스를 만드는 과정에 관심이 있습니다. 나는 bash가 자식 일 때 응용 프로그램을 시작할 수 있지만 Bash는 fork 명령을 실행한다는 것을 알고 있습니까? X Windows 시스템도 똑같은 기능을합니까? Gnome 패널 실행기가 응용 프로그램 이름을 BASH로 전달합니까? "프로세스를 시작한 명령 줄"에 대한 정보를 얻는 방법은 무엇입니까?Linux가 응용 프로그램을 시작하는 방법과 방법은 무엇입니까
0
A
답변
2
리눅스에서는 fork()
으로 새 프로세스를 생성하기 때문에 산란 프로세스에 관심이있는 모든 사람이 그 길을 걸어 간다.
BASH는 fork()
을 사용하고 새로운 프로세스의 입력 및 출력 구성을 처리하기 위해 다른 시스템 호출 (dup2()
, pipe()
등의 행을 따라 추측)을 사용합니다. 매개 변수와 환경 변수를 전달합니다. 그런 다음 최종 exec()
은 두 번째 프로그램으로 실행을 넘깁니다.
그러나 BASH를 사용하여 프로세스를 생성 할 필요는 없습니다. 모든 프로세스는 fork()
및 exec()
일 수 있습니다. 15 줄 미만의 C 코드에서 직접 프로그램 시작 관리자를 만들 수 있습니다.
관련 문제
- 1. 자바 프로그램을 시작하는 방법은 무엇입니까?
- 2. 브라우저에서 응용 프로그램을 시작하는 방법은 무엇입니까?
- 3. Eclipse에서 ATG 응용 프로그램을 시작하는 방법은 무엇입니까?
- 4. 웹 응용 프로그램을 업데이트하는 방법과 이유는 무엇입니까?
- 5. 로그인하기 전에 프로그램을 시작하는 방법은 무엇입니까?
- 6. Python으로 프로그램을 시작하는 방법은 무엇입니까?
- 7. VB.Net 응용 프로그램을 분할할지 여부를 결정하는 방법과 분할하는 방법은 무엇입니까?
- 8. C# 응용 프로그램에서 응용 프로그램을 시작하는 방법은 무엇입니까?
- 9. 응용 프로그램을 문서화하는 방법과 응용 프로그램을 다른 응용 프로그램과 통합하는 방법은 무엇입니까?
- 10. 입력을 변경하여 파이썬 프로그램을 시작하는 방법은 무엇입니까?
- 11. 웹 브라우저에서 .NET 프로그램을 시작하는 방법은 무엇입니까?
- 12. Scala에서 외부 응용 프로그램을 시작하는 방법
- 13. 활동을 시작하고 응용 프로그램을 시작하는 중입니까?
- 14. Java에서 Java 프로그램을 다시 시작하는 방법은 무엇입니까?
- 15. Eclipse에서 응용 프로그램을 시작할 때 Java 콘솔을 시작하는 방법은 무엇입니까?
- 16. 자바 스크립트를 사용하여 응용 프로그램을 시작하는 방법은 무엇입니까?
- 17. 시스템 트레이에서 직접 응용 프로그램을 시작하는 방법은 무엇입니까? (.NET C#)
- 18. Windows에서 응용 프로그램을 일시 중지하고 다시 시작하는 방법은 무엇입니까?
- 19. 동일한 Adobe Air 응용 프로그램을 여러 개 시작하는 방법은 무엇입니까?
- 20. 간단한 AS 파일에서 응용 프로그램을 시작하는 방법은 무엇입니까?
- 21. Tomcat과 같은 Java 응용 프로그램을 중지/시작하는 방법은 무엇입니까?
- 22. QT4 : 응용 프로그램을 다시 시작하는 방법은 무엇입니까? 설정을 재설정 하시겠습니까?
- 23. objective-C에서 해시 테이블에서 응용 프로그램을 시작하는 방법은 무엇입니까?
- 24. iPhone의 웹 앱에서 네이티브 응용 프로그램을 시작하는 방법은 무엇입니까?
- 25. .NET에서 원격 서버의 COM + 응용 프로그램을 다시 시작하는 방법은 무엇입니까?
- 26. 웹 서비스에서 WPF 응용 프로그램을 시작하는 방법은 무엇입니까?
- 27. Windows를 시작할 때 응용 프로그램을 자동으로 시작하는 방법은 무엇입니까?
- 28. OS X에서 종속 응용 프로그램을 시작하는 방법은 무엇입니까?
- 29. Java 응용 프로그램 내에서 JavaScript를 통해 프로그램을 시작하는 방법은 무엇입니까?
- 30. C++ mfc 응용 프로그램을 시작하는 방법