wat is het verschil tussen exec en dbus-launch?
Geplaatst op februari 9, 2021 door admin Als ik een proces start, vooral bij het starten van een sessie, wat is dan het verschil tussen het gebruik van exec p
en dbus-launch p
?
Antwoord
dbus-launch
is DBus -gerelateerd. exec
is een ingebouwde shell. Zie hun manpages / helppaginas:
dbus-launch - Utility to start a message bus from a shell script. exec - Replace the shell with the given command.
Dus … ze doen in feite twee verschillende dingen … Hoewel van beiden wordt verwacht dat ze het programma p
doorgegeven als parameter, kunt u lezen dat in het geval van dbus-launch
, eerst een paar andere dingen worden gedaan:
U kunt een programma specificeren dat moet worden uitgevoerd; in dit geval zal dbus-launch een sessiebusinstantie starten, de juiste omgevingsvariabelen instellen zodat het gespecificeerde programma de bus kan vinden, en dan het gespecificeerde programma uitvoeren met de gespecificeerde argumenten.
In dit geval wordt een DBus-daemon-instantie gemaakt voordat het proces wordt aangemaakt, en deze zou een secundaire sessiebus moeten draaien, die beschikbaar wordt gemaakt voor het onderliggende proces via omgevingsvariabelen.
Merk ook op dat in het geval van exec
, de huidige shell wordt vervangen door een nieuw programma. dbus-launch
zal de shell niet vervangen, en het programma dat je samen met de daemon start evenmin.
Geef een reactie