Quelle est la différence entre exec et dbus-launch?
On février 9, 2021 by admin Si je lance un processus, en particulier au début de la session, quelle est la différence entre lutilisation de exec p
et dbus-launch p
?
Réponse
dbus-launch
est DBus . exec
est un shell intégré. Voir leurs pages de manuel / pages daide:
dbus-launch - Utility to start a message bus from a shell script. exec - Replace the shell with the given command.
Donc … ils font essentiellement deux choses différentes … Alors que les deux sont censés démarrer le programme p
passé en paramètre, vous pouvez lire que dans le cas de dbus-launch
, quelques autres choses sont faites en premier:
Vous pouvez spécifier un programme à exécuter; dans ce cas, dbus-launch lancera une instance de bus de session, définira les variables denvironnement appropriées pour que le programme spécifié puisse trouver le bus, puis exécutera le programme spécifié, avec les arguments spécifiés.
Dans ce cas, une instance de démon DBus est créée avant la création du processus et doit exécuter un bus de session secondaire, qui est mis à la disposition du processus enfant via des variables denvironnement.
Notez également que dans le cas de exec
, le shell actuel est remplacé par un nouveau programme. dbus-launch
ne remplacera pas le shell, ni le programme que vous démarrez avec le démon.
Laisser un commentaire