= Suspend 組込みコマンド
:encoding: UTF-8
:lang: ja
//:title: Yash マニュアル - Suspend 組込みコマンド

dfn:[Suspend 組込みコマンド]はシェルを停止 (サスペンド) します。

[[syntax]]
== 構文

- +suspend [-f]+

[[description]]
== 説明

Suspend コマンドはシェルプロセスが属するプロセスグループ内のすべてのプロセスに対して SIGSTOP シグナルを送信します。これにより、シグナルを送られた各プロセス (シェル自身を含む) は停止 (サスペンド) 状態になります。停止状態になったプロセスは SIGCONT シグナルを受信すると実行を再開します。

シェルが{zwsp}link:interact.html[対話モード]で、さらにシェルプロセスのプロセスグループ ID がセッションリーダーのプロセス ID に等しいときは、+-f+ (+--force+) オプションを付けない限りシェルは警告を表示し、シグナルを送信しません。これはシェルが停止した後実行を再開させることができなくなってしまうのを未然に防ぐためです。

[[options]]
== オプション

+-f+::
+--force+::
警告を無視してシェルを停止します。

[[exitstatus]]
== 終了ステータス

Suspend コマンドの終了ステータスは、SIGSTOP シグナルをシェルに正しく送信できたときは 0、それ以外なら非 0 です。

[[notes]]
== 補足

Suspend コマンドは{zwsp}link:builtin.html#types[任意組込みコマンド]です。
POSIX では suspend コマンドの動作は規定されていません。
このコマンドは link:posix.html[POSIX 準拠モード]では使えません。

// vim: set filetype=asciidoc expandtab:
