exec와 dbus-launch의 차이점은 무엇입니까?

exec와 dbus-launch의 차이점은 무엇입니까?

exec p특히 세션이 시작될 때 프로세스를 시작하는 경우 와 를 사용하는 것의 차이점은 무엇입니까 dbus-launch p?

답변1

dbus-launch데이터베이스 버스-관련된. exec내장 쉘입니다. 해당 맨페이지/도움말 페이지를 참조하세요.

dbus-launch - Utility to start a message bus from a shell script.
exec - Replace the shell with the given command.

그래서... 그들은 기본적으로 두 가지 다른 일을 합니다... 둘 다 인수로 전달된 프로그램을 시작할 것으로 예상하지만 , 다른 일이 먼저 수행되는 p경우를 읽을 수 있습니다 :dbus-launch

실행할 프로그램을 지정할 수 있습니다. 이 경우 dbus-launch는 세션 버스 인스턴스를 시작하고 지정된 프로그램이 버스를 찾을 수 있도록 적절한 환경 변수를 설정한 다음 지정된 매개변수를 사용하여 지정된 프로그램을 실행합니다.

이 경우 DBus 데몬 인스턴스는 프로세스가 생성되기 전에 생성되며 환경 변수를 통해 하위 프로세스에 사용할 수 있는 보조 세션 버스를 실행해야 합니다.

또한 의 경우 exec현재 쉘이 새 프로그램으로 대체됩니다. dbus-launch쉘은 교체되지 않으며 데몬으로 프로그램이 시작되지도 않습니다.

관련 정보