Index · Directives · Python · libudev · gudev systemd 210
systemctl — システムとサービスのマネージャである systemd を制御する
systemctl [オプション...] コマンド [名前...]
systemctl は、システムとサービスのマネージャである systemd(1) の状態を表示したり、制御したりすることができる。
以下のオプションがある:
-t, --type=¶
引数は、 service あるいはsocket のような、ユニットタイプのコンマ区切りのリストである。
ユニットをリストする時に、引数の1つがユニットタイプである時は、そのユニットタイプだけを表示する。そうでないときは、すべてのユニットタイプを表示する。
特別なケースとして、引数の1つが help であるとき、使用できる値のリストを表示してプログラムは終了する。
--state=¶
引数は、ユニットの LOAD,SUB, あるいは ACTIVE 状態のコンマ区切りのリストである。ユニットを表示するとき、ここで指定された状態にあるものだけを表示する。
-p, --property=¶
show コマンドでユニット、ジョブ、あるいはマネージャの属性を表示する場合、引数に与えた属性だけを表示する。指定がない場合は、すべての設定された属性を表示する。引数は、"MainPID"などの、属性名のコンマ区切りのリストである。1つ以上指定された場合、指定された名前の属性をすべて表示する。
-a, --all¶
ユニットをリストするとき、状態にかかわらず、ロードされているものをすべて表示する。インアクティブなユニットも含む。ユニット、ジョブ、あるいはマネージャの属性を表示する場合、設定されているかにかかわらず、すべての属性を表示する。
システムにインストールされているすべてのユニットをリストするには、これの代わりに、list-unit-files を使う。
--reverse¶
list-dependencies のときに、ユニット間の逆の依存関係を表示する。つまり、指定されたユニットに対して、Wants= あるいは Requires= タイプの依存を持つものを表示する。
--after, --before¶
list-dependencies のときに、それぞれ、どのユニットが先、あるいは後、に開始されるかを表示する。
-l, --full¶
ユニット名、プロセスツリーエントリー、ジャーナル出力を省略しない。あるいは、 status, list-units,list-jobs, そして list-timers の出力において、ユニット記述を切り詰めない。
--show-types¶
ソケット表示で、そのタイプを表示する。
--job-mode=¶
新しいジョブをキューするとき、このオプションは既にキューされたジョブをどうするか決める。引数は、 "fail","replace","replace-irreversibly","isolate","ignore-dependencies","ignore-requirements" あるいは "flush" のどれか。デフォルトは、"replace"。ただし、isolate コマンドのときは除く。その場合、"isolate" ジョブモードになるため。
"fail" が指定され、要求された操作がペンディングジョブと競合する場合、(より具体的には、既にペンディングのジョブ開始があるときに、ジョブ停止要求がされた、あるいはその逆)操作は失敗する。
"replace" (デフォルト) が指定された場合、すべての競合するジョブは、必要に応じて置換される。
"replace-irreversibly" が指定された場合、"replace" と同様に動作するが、同時に新しいジョブを無効化できなくする。これにより、以降の競合するトランザクションがそのジョブを置換できなくなる。なお、そのジョブは、cancel コマンドでキャンセルできる。
"isolate" は、開始操作でのみ有効で、指定されたユニットが開始する時に他のすべてのユニットを停止させる。isolate が使われる時は、常にこのモードになる。
"flush" は、新しいジョブがキューに入るとき、すべてのキューされたジョブをキャンセルする。
"ignore-dependencies" が指定された場合、この新しいジョブに関して、すべてのユニット依存性は無視され、操作は直ちに行われる。パスされた場合、パスされたユニットが必要とするユニットがプルインされることはない。また、順序性の依存関係も順守されない。これはもっぱら、管理者によるデバッグとレスキューのためのツールであり、アプリケーションから使うべきではない。
"ignore-requirements" は、 "ignore-dependencies" と似ているが、requirement 依存だけが無視される。 ordering 依存は守られる。
-i, --ignore-inhibitors¶
システムのシャットダウンあるいはスリープ状態が要求された時、inhibitor lock を無視する。アプリケーションは、ある種の重要な操作(CD を焼くなど)がシステムのシャットダウンあるいはスリープ状態によって中断されないようにinhibitor lock を設定することができる。すべてのユーザーはこのロックを取ることができ、権限のあるユーザはロックを破棄できる。ロックが取られている時は、通常、シャットダウンやスリープ状態は失敗する。(権限のあるなしにかかわらず。)そして、アクティブなロックのリストが表示される。しかし、--ignore-inhibitors の指定があると、ロックは無視され、表示はされず、操作は続行される。追加の権限が必要になることもある。
-q, --quiet¶
snapshot, is-active, is-failed, enable そして disable において、標準出力に何も出力しない。
--no-block¶
要求された操作が終わるまで、同期的に待たない。これが指定されていない場合、ジョブはベリファイされ、エンキューされ、 systemctl はそれが完了するまで待つ。この引数を与えると、ジョブはベリファイ、エンキューだけがされる。
--no-legend¶
凡例、つまり、ヒントを含むカラムヘッダーとフッターを表示しない。
--user¶
システムのサービスマネージャでなく、呼び出し元ユーザーのサービスマネージャと話す。
--system¶
システムのサービスマネージャと話す。これは暗黙のデフォルトである。
--no-wall¶
halt, power-off, reboot の前に、ウオールメッセージを送らない。
--global¶
enable と disable で使われた場合、グローバルなユーザー設定ディレクトリに対して操作を行う。この結果、以降のすべてのユーザーのすべてのログインに対してグローバルに、指定したユニットファイルを有効あるいは無効にする。
--no-reload¶
enable と disable で使われた場合、変更を実行した後、暗黙的にデーモン設定をリロードしない。
--no-ask-password¶
start とその関連コマンドで使われた場合、パスワードを聞かない。バックグラウンドサービスは、例えば、システムハードディスクや暗号証明書をアンロックするためにパスワードやパスフレーズ文字列の入力を必要とすることがある。このオプションが指定されず、コマンドがターミナルから実行された場合、 systemctl はターミナル前のユーザーに、必要な秘密を問い合わせる。このふるまいを止めるには、このオプションを使う。この場合、パスワードは他の手段(例えば、グラフィカルパスワードエージェント)によって提供される必要がある。そうでないと、サービスは失敗する。さらにこのオプションは、ユーザーに権限が必要な操作に対して認証を求めることも無効にする。
--kill-who=¶
kill で使われた場合、止めるプロセスを指定する。main, control あるいは all のいずれかであり、ユニットのメインプロセスだけを止めるのか、ユニットの制御プロセスを止めるのか、すべてを止めるのかを指定する。省略時のデフォルト値は、 all。
-s, --signal=¶
kill で使われた場合、選択されたプロセスに送るシグナルを指定する。SIGTERM, SIGINT あるいは SIGSTOP などの、よく知られたシグナルの指定のいずれかでなくてはいけない。省略時のデフォルト値は、SIGTERM。
-f, --force¶
enable で使われた場合、既存の競合するシンボリックリンクを上書きする。
halt, poweroff, reboot あるいは kexec で使われた場合、すべてのユニットをシャットダウンすることなく指定された操作を実行する。しかし、すべてのプロセスは強制的に停止され、すべてのファイルシステムはアンマウントあるいはリードオンリーに再マウントされる。このため、この操作はドラスティックであるが、直ちにリブートするための比較的安全な選択肢である。 --force が前記操作に対して2回指定された場合、プロセスの終了やファイルシステムのアンマウントはされずに、直ちに操作が実行される。警告:前記操作に対して --force を2回指定するとデータ喪失のおそれがある。
--root=¶
enable/disable/is-enabled (そして関連するコマンド)で使われた場合、ユニットファイルを探す時に、別のルートパスを使う。
--runtime¶
enable, disable (そして関連するコマンド)とともに指定された場合、変更を一時的なものとし、次のリブートで失われるようにする。これは、変更が、/etc のサブディレクトリでなく、/run になされる効果を持つ。効果は同じであるが、後者はリブートで失われるので、変更も消える。
同様に、set-property とともに指定された場合、変更を一時的なものとし、次のリブートで失われるようにする。
-n, --lines=¶
statusとともに指定された場合、表示するジャーナル行を決める。表示は最も新しいものから指定行数、される。正の整数を取る。デフォルトは、10.
-o, --output=¶
statusとともに指定された場合、表示するジャーナルエントリーのフォーマットを決める。可能な選択肢は、journalctl(1) を参照。デフォルトは、"short".
--plain¶
list-dependencies で使われた場合、出力はツリーでなく、リストで表示される。
-H, --host=¶
操作をリモートで実行する。接続先のホスト名あるいは、ユーザ名とホスト名を "@" でつないだものを指定する。これは、SSH を使って、リモートマシンのマネージャインスタンスと会話する。
-M, --machine=¶
操作を、ローカルコンテナにおいて実行する。接続するコンテナ名を指定する。
-h, --help¶
短いヘルプテキストを表示して終了する。
--version¶
短いバージョン文字列を表示して終了する。
--no-pager¶
出力をページャーにパイプ出力しない。
以下のコマンドがある:
list-units [PATTERN...]¶
既知のユニットを表示する。(-tで指定された制限に従う。)1つ以上のPATTERNが指定された場合、それにあうものだけが表示される。
これがデフォルトコマンドである。
list-sockets [PATTERN...]¶
リスンアドレス順に、ソケットユニットを表示する。1つ以上のPATTERNが指定された場合、それにあうものだけが表示される。出力は、
LISTEN UNIT ACTIVATES /dev/initctl systemd-initctl.socket systemd-initctl.service ... [::]:22 sshd.socket sshd.service kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service 5 sockets listed.
のようになる。注意:アドレスには、空白が含まれることがあるので、この出力は、プログラムで処理するのには向いていない。
オプション --show-types, --all, そして --failed も参照。
list-timers [PATTERN...]¶
タイマーユニットを、次に発火する順に表示する。1つ以上のPATTERNが指定された場合、それにあうものだけが表示される。
オプション --all と --failed も参照。
start PATTERN...¶
コマンドラインに指定した1つ以上のユニットを、開始(アクティベート)する。
glob パターンは、現在ロードされているユニットのリストに対してはたらくことに注意。アクティブでも、 failed 状態でもないユニットは、通常はロードされていないので、パターンにマッチすることはない。さらに、インスタンス化されたユニットの場合、 systemd はインスタンスが開始するまで、インスタンス名を知らないことが多い。このため、 start で glob パターンを使うのは、あまり役に立たないことがある。
stop PATTERN...¶
コマンドラインに指定した1つ以上のユニットを、停止(デアクティベート)する。
reload PATTERN...¶
コマンドラインにリストされたすべてのユニットに対して、設定をリロードするように求める。これは、サービス固有の設定をリロードするのであって、systemd のユニット設定ファイルをリロードするのでないことに注意。systemd のユニット設定ファイルをリロードしたいときは、daemon-reloadコマンドを使うこと。例えば、 Apache を例に取ると、このコマンドは、 Apache の httpd.conf を、ウエブサーバーにリロードする。systemd のユニット設定ファイルapache.service ではない。
daemon-reload や load コマンドと混同しないように。
restart PATTERN...¶
コマンドラインに指定された1つ以上のユニットを再開始する。ユニットがまだ実行中でないときは、開始する。
try-restart PATTERN...¶
コマンドラインに指定された1つ以上のユニットを、それが実行中である場合に、再開始する。ユニットが実行中でないときは、何もしない。このコマンドは、Red Hat init スクリプト condrestart と互換である。
reload-or-restart PATTERN...¶
1つ以上のユニットを、もしそれらがリロードをサポートしている場合、リロードする。サポートしていない場合、それらを再開始する。ユニットがまだ実行中でない場合、開始する。
reload-or-try-restart PATTERN...¶
1つ以上のユニットを、もしそれらがリロードをサポートしている場合、リロードする。サポートしていない場合、それらを再開始する。ユニットが実行中でない場合、何もしない。このコマンド は、SysV init スクリプト force-reload と互換である。
isolate 名前¶
コマンドラインで指定されたユニットと、その依存するものを開始し、それ以外をすべて停止する。
これは、伝統的な init システムのランレベルを変えるのに似ている。isolate コマンドは新しいユニットで有効になっていないプロセスを直ちに停止する。それには、あなたが現在使っているグラフィカル環境やターミナルも含まれるかもしれない。
これは、AllowIsolate= が有効なユニットにだけ許可されることに注意。詳しくは、systemd.unit(5) を参照。
kill PATTERN...¶
そのユニットの1つ以上のプロセスにシグナルを送る。どのプロセスを停止するかは、 --kill-who= で選択する。停止モードを選択するには、 --kill-mode= を、送るシグナルを選択するには、--signal= を指定する。
is-active PATTERN...¶
指定したユニットのどれかがアクティブ(つまり、実行中)であるかをチェックする。少なくても1つがアクティブなら、終了コード 0 を返す。そうでないときは、ゼロ以外を返す。--quiet が指定されている時を除き、このコマンドは現在のユニット状態を標準出力に表示する。
is-failed PATTERN...¶
指定したユニットが「failed」状態にあるかをチェックする。少なくても1つが failed である場合、終了コード 0 を返す。そうでないときは、ゼロ以外を返す。--quiet が指定されている時を除き、このコマンドは現在のユニット状態を標準出力に表示する。
status [PATTERN...|PID...]]¶
1つ以上のユニットに関して、簡単な実行ステータス情報を表示する。ジャーナルからの最新のログデータもその後に表示する。ユニット指定がない時は、すべてのユニット(-tで指定された限定に従った)を表示する。 PID が指定された場合は、そのプロセスが属するユニットの情報を表示する。
この関数は、人間が読むことのできる出力を生成するようにできている。コンピュータで解析するための出力は、これの代わりに、 show を使うとよい。デフォルトで、この関数は出力の10行だけを表示し、行をターミナルのウインドウにあうように切り詰める。これは、前記、--lines と --full で変更できる。また、journalctl --unit=NAME あるいは journalctl --user-unit=NAME は、類似のメッセージのフィルターを使い、そちらのほうが使いやすいかもしれない。
show [PATTERN...|JOB...]¶
1つ以上のユニット、ジョブ、あるいはマネージャ自身の属性を表示する。引数がない場合、マネージャの属性を表示する。ユニット名が指定された場合、そのユニットの属性を表示する。ジョブ ID が指定された場合、そのジョブの属性を表示する。デフォルトで、値の入っていない属性は表示されない。それらも表示するには、--all を使う。特定の属性だけを見るには、--property= を使う。このコマンドは、コンピュータで解析するための出力が必要なときのためにある。フォーマットされ、人間が読むことのできる出力は、status で得られる。
cat PATTERN...¶
1つ以上のユニットのバッキングファイルを表示する。ユニットの「fragment」と「drop-ins」(ソースファイル)を表示する。それぞれのファイルの表示の先頭に、ファイル名を含むコメントを表示する。
set-property 名前ASSIGNMENT...¶
それがサポートされる場合、指定されたユニット属性を実行時に設定する。これにより実行時に、リソース制御の設定などの設定パラメータ属性を変更できる。すべての属性が実行時に変えられるわけではないが、多くのリソース制御の設定(主に、systemd.resource-control(5)にあるもの)は、それが可能である。変更は直ちに適用され、次回のリブートでも有効なように、ディスクに格納される。ただし、--runtime が指定された場合、設定は次のリブートまでの間だけ有効である。属性設定のシンタックスは、ユニットファイルでの設定とほぼ同じである。
Example: systemctl set-property foobar.service CPUShares=777
このコマンドは、複数の属性を一度に変更することができ、それは、それぞれの属性を1つづつ設定するより望ましいことに注意。ユニットファイル設定と同様、リストパラメータに空リストを設定すると、リストはリセットされる。
help PATTERN...|PID...¶
1つ以上のユニットのマニュアルページがあれば、表示する。PID が指定された場合、そのプロセスが属するユニットのマニュアルページを表示する。
reset-failed [PATTERN...]¶
指定されたユニットの、 "failed" 状態をリセットする。ユニット名が指定されない場合、すべてのユニットの状態をリセットする。ユニットが何らかの理由で失敗した場合、(つまり、プロセスがゼロ以外のエラーコードで終了したり、異常終了、タイムアウトした場合)ユニットは自動的に "failed" 状態に入り、終了コードとステータスが記録され、管理者の調査を待つ。サービスが再開始されるか、このコマンドによりリセットされるまで、そのままとなる。
list-dependencies 名前¶
指定されたユニットの required と wanted ユニットを表示する。ユニットが指定されない場合、default.target とみなされる。対象となるユニットは再帰的に展開される。 --all が指定された場合、他のすべてのユニットも再帰的に展開される。
list-unit-files [PATTERN...]¶
インストールされているユニットファイルを表示する。1つ以上のPATTERNが指定された場合、ファイル名がそれにあう(パスの最後の要素だけを比較する。)ものだけが表示される。
enable 名前...¶
コマンドラインに指定した、1つ以上のユニットファイルあるいはユニットファイルインスタンスを有効にする。これによって、ユニットファイルの"[Install]"セクションに書いてあるシンボリックリンクがいくつか作成される。シンボリックリンクが作成された後、 systemd 設定はリロードされ、(daemon-reloadによるのと同様に。)変更が直ちに反映されることを保証する。これは、有効になったユニットを、同時に開始する効果を持たないことに注意。そのためには、別途、start コマンドをそのユニットを指定して実行する必要がある。また、インスタンスの有効化の場合、インストール位置にインスタンス名と同じシンボリックリンクが作成されるが、それらはすべて同じテンプレートユニットファイルを指すことに注意。
このコマンドは、実行されるアクションを表示する。出力は、--quietを指定すれば、止められる。
この操作は、そのユニットが指定するシンボリックリンクだけを作ることに注意。このコマンドは、ユニット設定ディレクトリを操作する、推奨される方法であるが、管理者は、さらにそのディレクトリに手でシンボリックリンクを作成、削除してもよい。これは、指定のデフォルトインストールとは異なる設定を作る場合、特に便利である。その場合、管理者は、手でdaemon-reload を打って、変更が反映されるようにすること。
ユニットを有効にするのは、ユニットを開始(アクティベート)するのと混同してはいけない。これは、start コマンドのところでも述べた。ユニットの有効化と開始は、直交している。ユニットは、開始されることなく有効化できるし、有効化されることなく開始できる。有効化とは、ユニットをいろいろな指定された場所にフックするだけのことである。(例えば、ブート時にそのユニットが自動的に開始するとか、特定のハードウエアが接続されたときに開始する、など。)開始とは、実際にデーモンプロセス(サービスユニットの場合)を起動することであり、ソケットをバインド(ソケットユニットの場合)すること、など、である。
--system, --user, --globalあるいは --runtimeの指定によって、ユニットの有効化が、システムが対象であるか、呼び出し元ユーザーだけが対象であるか、以降のすべてのユーザーのすべてのログインが対象であるか、このブートだけが対象であるかが、決まる。最後の場合は、 systemd デーモン設定はリロードされないことに注意。
disable 名前...¶
1つ以上のユニットを無効にする。これは、ユニット設定ディレクトリから、指定されたユニットファイルへのすべてのシンボリックリンクを削除する。そして、enable で行われた変更を元に戻す。これは、enableで作られたものだけでなく、手で作られたものも含めたすべてのシンボリックリンクを削除することに注意。この呼び出しは、ユニットの無効化の後、暗黙的に systemd デーモンの設定をリロードする。このコマンドは、無効になるユニットを停止しないことに注意。そうしたい場合、その後、 stop を続けて実行すること。
このコマンドは、実行されるアクションを表示する。出力は、--quietを指定すれば、止められる。
このコマンドは、 --system, --user, --runtime そして --global を、 enable と同様に受け付ける。
is-enabled 名前...¶
指定されたユニットのどれかが、有効であるか(enableされているか)チェックする。少なくても1つが有効であれば、ゼロの終了コードを返す。そうでないときは、ゼロ以外を返す。現在の状態を表示する。(表を参照。)この出力を抑止するには、--quiet を使う。
Table 1. is-enabled の出力
reenable 名前...¶
コマンドラインに指定された1つ以上のユニットを再度有効にする。これは、disable と enable を連続したもので、ユニットが有効にされているシンボリックリンクを、ユニットファイルの "[Install]" セクションが指定するデフォルトのものにリセットするのに役に立つ。
preset 名前...¶
コマンドラインに指定された1つ以上のユニットファイルを preset ポリシーファイルで指定されるデフォルトにリセットする。これは、ユニットが preset ファイルにどのようにリストされているかによって、disable あるいは enable と同じ効果を持つ。 preset ポリシーフォーマットについて詳しくは、systemd.preset(5)を参照。 presets の概念については、 Preset の文書を参照。
mask 名前...¶
コマンドラインに指定された1つ以上のユニットをマスクする。これらのユニットは、/dev/null にリンクされ、開始することはできなくなる。これは、disable のより強力なバージョンであり、マニュアルアクティベーションを含むすべてのユニットアクティベーションを禁止する。このオプションは注意して使うこと。--runtime オプションを使うと、次のシステムリブートまでの間だけ、一時的にマスクをする。
unmask 名前...¶
コマンドラインに指定された1つ以上のユニットをアンマスクする。これは、mask の効果を元に戻す。
link FILENAME...¶
ユニットファイルの検索パスにないユニットファイルを、検索パスにリンクする。ユニットファイルへの絶対パスが必要である。このコマンドの効果は、disable により元に戻せる。このコマンドの結果、ユニット検索パスに直接インストールされていないユニットファイルを指定して、 start などのコマンドが実行できるようになる。
get-default¶
default.target に指定されるデフォルトターゲットを得る。
set-default 名前¶
ブートするデフォルトターゲットを設定する。指定されたユニットが、default.target にリンクされる。
list-jobs [PATTERN...]¶
実行中のジョブを表示する。1つ以上の PATTERN が指定された場合、それにマッチするジョブだけを表示する。
cancel JOB...¶
コマンドラインに、数字のジョブ ID で指定された1つ以上のジョブをキャンセルする。ジョブ ID が指定されない場合、ペンディングのすべてのジョブをキャンセルする。
snapshot [名前]¶
スナップショットを作成する。名前が指定されたら、新しいスナップショットはその名前となる。されない場合は、名前は自動で生成される。どちらの場合も、使われたスナップショット名が、標準出力に表示される。--quiet が指定された場合、表示されない。
スナップショットとは、 systemd マネージャの退避された状態を言う。それは、このコマンドでダイナミックに生成されたユニットとして実装され、その時にアクティブだったすべてのユニットに依存する。後から、ユーザーはこの状態に、スナップショットユニットを指定した isolate を使って戻ることができる。
スナップショットは、ユニットの実行中あるいは停止中という状態を退避、回復するためにだけ有効である。それ以外の状態は退避、回復されない。スナップショットはダイナミックであり、リブートで失われる。
delete PATTERN...¶
snapshot で以前に作ったスナップショットを削除する。
show-environment¶
systemd マネージャの環境ブロックをダンプする。環境ブロックは、シェルスクリプトに与えるのに適した単純な形で、ダンプされる。環境ブロックは、マネージャが生成するすべてのプロセスに与えられる。
set-environment VARIABLE=VALUE...¶
systemd マネージャの1つ以上の環境変数を、コマンドラインに指定されたように設定する。
unset-environment VARIABLE...¶
systemd マネージャの1つ以上の環境変数を、設定解除する。変数名だけが指定された場合、値にかかわらず、削除される。変数名と値が指定された場合、変数がその値を持っている時だけ削除される。
import-environment VARIABLE...¶
クライアントに設定されたすべて、1つ、あるいは、1つ以上の環境変数を systemd マネージャ環境ブロックにインポートする。引数が指定されない場合、環境ブロック全体をインポートする。そうでない場合、1つ以上の環境変数名のリストを引数に与え、それらのクライアント側の値をマネージャの環境ブロックにインポートする。
daemon-reload¶
systemd マネージャの設定ファイルをリロードする。これは、すべてのユニットファイルを読み直し、完全な依存ツリーを作りなおす。デーモンがリロードされる間、ユーザー設定に従って systemd がリスンするすべてのソケットはアクセス可能なままである。
このコマンドを、 load あるいは reload コマンドと混同してはいけない。
daemon-reexec¶
systemd マネージャを再実行する。これは、マネージャ状態をシリアライズして、プロセスを再実行し、状態を再度デシリアライズする。このコマンドは、デバッグあるいは、パッケージアップグレード以外には、役に立たない。重量級の daemon-reload として便利なときもある。デーモンが再実行する間、ユーザー設定に従って systemd がリスンするすべてのソケットはアクセス可能なままである。
default¶
デフォルトモードに入る。これはほぼ、isolate default.target と同じである。
rescue¶
レスキューモードに入る。これはほぼ、isolate rescue.target と同じであるが、すべてのユーザーにウオールメッセージを表示する。
emergency¶
エマージェンシーモードに入る。これはほぼ、isolate emergency.target と同じであるが、すべてのユーザーにウオールメッセージを表示する。
halt¶
システムをシャットダウンし、停止する。これはほぼ、start halt.target --irreversibleと同じであるが、それに加えて、すべてのユーザーにウォールメッセージを表示する。--forceを指定すると、すべての実行中サービスのシャットダウンはスキップされる。その代わり、すべてのプロセスは停止され、すべてのファイルシステムはアンマウントあるいはリードオンリーマウントされる。その後、直ちに、システムが停止する。--forceを2回指定すると、プロセスの停止もファイルシステムのアンマウントもされないで停止する。これはデータ喪失の可能性がある。
poweroff¶
システムをシャットダウンし、電源オフする。これはほぼ、start poweroff.target --irreversible と同じであるが、すべてのユーザーにウオールメッセージを表示する。--force がともに指定されると、すべての実行中サービスのシャットダウンはスキップされる。なお、電源オフの前に、すべてのプロセスは停止され、すべてのファイルシステムはアンマウントあるいはリードオンリーマウントされる。--force を2回指定すると、プロセスの停止もファイルシステムのアンマウントもされないで停止する。これはデータ喪失の可能性がある。
reboot [arg]¶
システムをシャットダウンし、リブートする。これはほぼ、start reboot.target --irreversible と同じであるが、すべてのユーザーにウオールメッセージを表示する。--force がともに指定されると、すべての実行中サービスのシャットダウンはスキップされる。なお、リブートの前に、すべてのプロセスは停止され、すべてのファイルシステムはアンマウントあるいはリードオンリーマウントされる。--force を2回指定すると、プロセスの停止もファイルシステムのアンマウントもされないで停止する。これはデータ喪失の可能性がある。
オプショナル引数 arg が与えられた場合、reboot(2) システムコールのオプショナル引数として与えられる。値は、アーキテクチャとファームウェアに依存する。例えば、"recovery" はシステムリカバリーを起動するのに使われ、"fota" は、 “firmware over the air” 更新を起動するのに使われるかもしれない。
kexec¶
システムをシャットダウンし、kexec を使ってリブートする。これはほぼ、start kexec.target --irreversible と同じであるが、すべてのユーザーにウオールメッセージを表示する。--force がともに指定されると、すべての実行中サービスのシャットダウンはスキップされる。なお、リブートの前に、すべてのプロセスは停止され、すべてのファイルシステムはアンマウントあるいはリードオンリーマウントされる。
exit¶
systemd マネージャに停止を要求する。これは、ユーザーサービスマネージャ(--user オプションがあるとき)でだけサポートされ、そうでないときは失敗する。
suspend¶
システムをサスペンドする。特別の、suspend.target ターゲットをアクティベートする。
hibernate¶
システムをハイバネートする。特別の、hibernate.target ターゲットをアクティベートする。
hybrid-sleep¶
システムをハイバネートかつサスペンドする。特別の、hybrid-sleep.target ターゲットをアクティベートする。
switch-root ROOT[INIT]¶
異なるルートディレクトリにスイッチして、新しいシステムマネージャプロセスをその下で実行する。これは、initial RAM ディスク ("initrd") での使用のためにある。initrd のシステムマネージャプロセス(別名 "init" プロセス)から、メインのシステムマネージャプロセスへの遷移を行う。2つの引数がある。新しいルートディレクトリになるディレクトリと、その下にあって、PID 1 で実行される予定の新しいシステムマネージャバイナリーのパスである。後者が省略あるいは、空文字列である場合、 systemd バイナリーが自動的に探され、init として使われる。システムマネージャパスが省略あるいは、空文字列である場合、initrd のシステムマネージャプロセスの状態がメインのシステムマネージャプロセスに渡され、 initrd ブートに関連するサービスの状態を後から調査することができるようにする。
前記のユニットコマンドは、1つのユニット名 (NAME で指定される)あるいは、複数のユニット指定 (PATTERN... で指定される)を引数として取る。最初の場合、サフィックスのある、あるいは、ない、ユニット名が必要である。サフィックスがない場合、systemctl は、適当なサフィックス、".service" がデフォルト、を追加するか、あるいは、特別なユニットタイプにだけ適用されるコマンドの場合、そのタイプ固有のサフィックスを追加する。例えば、
# systemctl start sshd
と
# systemctl start sshd.service
は同じであり、
# systemctl isolate snapshot-11
と
# systemctl isolate snapshot-11.snapshot
も同じである。なお、デバイスノードの(絶対)パスは自動的にデバイスユニット名に変換され、それ以外の(絶対)パスは、マウントユニット名に変換されることに注意。
# systemctl status /dev/sda # systemctl status /home
と
# systemctl status dev-sda.device # systemctl status home.mount
は同じである。2つめの場合、シェルスタイルのグロブが、現在ロードされているユニットに対して適用される。サフィックスのある、あるいは、ない、リテラルのユニット名は、最初の場合と同じに扱われる。このとき、リテラルのユニット名は常に1つのユニットにマッチするが、グロブはいかなるユニットにもマッチしないことがあり、これはエラーとはみなされない。
グロブパターンは、 fnmatch(3) を使う。このため、通常のシェルスタイルのグロブルールが使われる。また、 "*", "?", "[]" も使うことができる。詳しくは、 glob(7) を参照。パターンは、現在ロードされているユニット名に対してマッチされ、どれともマッチしないパターンは、静かにスキップされる。例えば、
# systemctl stop sshd@*.service
は、すべての sshd@.service インスタンスを停止する。
ユニットファイルコマンドでは、指定された NAME は、ユニットファイルの完全な名前であるか、あるいはユニットファイルの絶対パスでなくてはいけない。
# systemctl enable foo.service
あるいは
# systemctl link /path/to/foo.service
成功した場合、ゼロが返り、そうでない場合はゼロでないエラーコードが返る。
$SYSTEMD_PAGER¶
--no-pager の指定がない時に使われるページャー。$PAGER を上書きする。これを空文字列にするか、あるいは、"cat" を値とするのは、--no-pager を指定するのに等しい。
$SYSTEMD_LESS¶
less に与えられるデフォルトオプション ("FRSXMK") を上書きする。
systemd(1), systemadm(1), journalctl(1), loginctl(1), systemd.unit(5), systemd.resource-management(5), systemd.special(7), wall(1), systemd.preset(5)glob(7)