Articles
execとdbus-launchの違いは何ですか?
On 2月 9, 2021 by admin特にセッションの開始時にプロセスを開始する場合、exec p
と
?
回答
dbus-launch
DBus に関連しています。 exec
はシェルに組み込まれています。マンページ/ヘルプページを参照してください:
dbus-launch - Utility to start a message bus from a shell script. exec - Replace the shell with the given command.
つまり…基本的に2つの異なることを行います…どちらもプログラムを開始することが期待されていますがp
がパラメータとして渡された場合、dbus-launch
の場合、他のいくつかのことが最初に行われることがわかります。
実行するプログラムを指定できます。この場合、dbus-launchはセッションバスインスタンスを起動し、指定されたプログラムがバスを見つけられるように適切な環境変数を設定してから、指定された引数を使用して指定されたプログラムを実行します。
この場合、プロセスを作成する前にDBusデーモンインスタンスが作成され、環境変数を介して子プロセスで使用できるようになるセカンダリセッションバスを実行する必要があります。
exec
の場合、現在のシェルが新しいプログラムに置き換えられることにも注意してください。 dbus-launch
はシェルを置き換えません。また、デーモンと一緒に起動するプログラムも置き換えません。
コメントを残す