Nautilus와 같은 프로그램은 쉘을 사용합니까?

Nautilus와 같은 프로그램은 쉘을 사용합니까?

제가 알기로는 bash는 Python Interactive Shell과 유사한 프로그램으로, 입력 스트림을 통해 명령(또는 명령)을 받아 Linux API 함수를 호출하여 실행하고, 실행 결과를 출력 스트림에 제공하는 프로그램입니다.

터미널 역시 명령 기록, 강조 표시 등 일부 기능을 제공하고 내부적으로는 쉘(bash)을 사용하는 프로그램이다.

그러나 Nautilus와 같은 애플리케이션은 /bin/bash를 사용합니까, 아니면 Linux의 API를 사용하여 통신합니까?

답변1

예, 프로그램은 명시적으로 또는 암시적으로 셸을 사용할 수 있습니다.

예를 들어 참조하십시오.스티븐의 대답관련없는 질문입니다.

예를 들어, 그들의 대답은 프로그램이 C 라이브러리 함수를 사용하거나 명령을 실행하는 경우 execlp()일반적 execvp()으로 execve()반환 시 ENOEXEC호출된다는 것입니다 sh("it"은 명령의 컨텍스트인 명시적 인터프리터를 지정하지 않는 쉘 스크립트입니다). ) . sh껍질이에요.

유틸리티를 실행하는 데 사용되는 응용 프로그램은 system()일반적으로 셸도 호출합니다.

노틸러스에 대해 구체적으로 말할 수는 없지만 어떤 종류의 스크립트를 실행할 수 있다면 이를 위해 쉘을 사용할 가능성이 높습니다. 나머지 애플리케이션에서는 GUI 요소용 라이브러리와 이벤트, 파일 시스템 작업 등에 대한 기타 라이브러리를 사용할 수 있습니다. 이러한 라이브러리는 C 또는 유사한 언어로 작성되었을 가능성이 높으며 C 라이브러리를 사용하며, 그 중 일부는 특정 작업을 위해 운영 체제 커널과 상호 작용합니다.

파일 관리자 자체가 의심스럽습니다.다음과 같이 쓰여졌다모든 종류의 쉘 스크립팅 언어에서 가능하지만사용시작 또는 기타 작업을 위한 쉘 스크립트입니다.

관련 정보