exec
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| exec [2020/01/28 02:12] – 作成 nullpon | exec [2020/02/29 10:51] (現在) – nullpon | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== exec ====== | ====== exec ====== | ||
| - | bashなどの組み込みコマンド。実行中のシェルに代わって指定のコマンドを実行する。 | + | bashなどの組み込みコマンド。またはシステムコール |
| + | |||
| + | |||
| + | ===== execコマンド ===== | ||
| + | |||
| + | 実行中のシェルに代わって指定のコマンドを実行する。 | ||
| - プロセスが指定のコマンドに置換される。 | - プロセスが指定のコマンドに置換される。 | ||
| - pidもシェルの値が引き継がれる | - pidもシェルの値が引き継がれる | ||
| - | - シェルスクリプトの以降のコマンドは実行されない | + | - シェルスクリプトで使用した場合、以降のコマンドは実行されない |
| + | プロセス数を抑えるという目的で使われるが、 起動スクリプトからサーバアプリを起動するときにも使われる。systemdとの相性も良い。 | ||
| - | プロセス数を抑えるという目的で使われるが、 起動スクリプトからサーバアプリを起動するときにも使われる。execでサーバを起動するとpidが引き継がれるため、systemdがexecで起動したプロセスを管理することができる | + | まずtype simpleでサービスを作成して、ExecStartに起動スクリプトを指定し、そのスクリプトの中でexecでサーバをフォアグラウンド起動する。するとシェルスクリプトのpidがサーバプロセスに引き継がれるため、そのままsystemdはサーバプロセスを管理下に置くことができ、サーバを管理するためにpidファイルを使う必要もなくなる。 |
exec.1580177573.txt.gz · 最終更新: by nullpon