web-dev-qa-db-ja.com

systemctlisolate-「分離」という言葉の背後にある理由は何ですか?

systemctl isolateを覚えるのが非常に簡単なコマンドのセットだとは思いません。

古いものを切り替えるためにWordisolateを使用する理由は何ですか?しかし、私が見つけたのは、はるかにユーザーフレンドリーなrun levelsですか?

5
Snowcrash

私は同じことを考えていました。 systemctlのマニュアルページ から:

uNITを分離する

コマンドラインで指定されたユニットとその依存関係を開始し、IgnoreOnIsolate = yesがない限り、他のすべてのユニットを停止します(systemd.unit(5)を参照)。拡張子のないユニット名を指定した場合、拡張子は「.target」とみなされます。

これは、従来のinitシステムでランレベルを変更するのと似ています。分離コマンドは、現在使用しているグラフィカル環境や端末など、新しいユニットで有効になっていないプロセスを即座に停止します。

これは、AllowIsolate =が有効になっているユニットでのみ許可されることに注意してください。詳細については、systemd.unit(5)を参照してください。

したがって、「分離」という言葉は、要求されたユニットを実行し、他に何も実行されていないことを確認することを意味します(上記のいくつかの例外を除く)。

ランレベルがターゲット(multi-usergraphicalの使用法など、特定の状況で実行したいサービスのセット)に置き換えられたため、次のように切り替えることができます。同等のターゲットを開始し、新しいターゲットの一部ではないものをすべて停止することによる「ランレベル」-isolateを使用します。

6
Ivo Smits