[WIP] launchd.plist man 日本語訳

```shell-session:バージョン
$ launchctl version
Darwin Bootstrapper Version 4.0.0: Tue May 22 13:15:21 PDT 2018; root:libxpc_executables-972.70.2~1/launchd/RELEASE_X86_64
```

# NAME

> launchd.plist -- System wide and per-user daemon/agent configuration files

launchd.plist -- システム全体とユーザごとのデーモン/エージェント設定ファイル

# XML PROPERTY LIST KEYS; XMLプロパティリストのキー

# Label <string>

> This required key uniquely identifies the job to launchd.

(Google翻訳) この必須キーは、起動するジョブを一意に識別します。

この必須キーは、起動するジョブを一意に識別します。


# Disabled <boolean>

> This optional key specifies whether the job should be loaded by default.

> Note that this key may be overridden through the enable subcommand of launchctl(3).

> Previous Darwin operating systems would modify the configuration file's value for this key, but now this state is kept externally.


## KeepAlive <boolean or dictionary of stuff>

> This optional key is used to control whether your job is to be kept continuously running or to let demand and conditions control the invocation.

(Google翻訳) このオプションのキーは、ジョブを継続的に実行するかどうか、または要求と条件で呼び出しを制御できるようにするかどうかを制御するために使用されます。

> The default is false and therefore only demand will start the job.

(Google翻訳) デフォルトはfalseであるため、ジョブの開始のみが要求されます。

> The value may be set to true to unconditionally keep the job alive.

(Google翻訳) この値をtrueに設定すると、ジョブを無条件に維持できます。

この値をtrueに設定すると、ジョブを無条件に起動状態に維持できます。

> Alternatively, a dictionary of conditions may be specified to selectively control whether launchd keeps a job alive or not.

(Google翻訳) あるいは、条件の辞書を指定して、launchdがジョブを存続させるかどうかを選択的に制御することもできます。

あるいは、辞書で条件を指定して、launchdがジョブを存続させるかどうかを選択的に制御することもできます。

> If multiple keys are provided, launchd ORs them, thus providing maximum flexibility to the job to refine the logic and stall if necessary.

(Google翻訳) 複数のキーが提供されている場合は、それらを起動するため、ロジックを洗練し、必要に応じてストールするためにジョブに最大限の柔軟性が提供されます。

????????複数のキーが提供されている場合は、launchdはそれらのORをとります。????????

> If launchd finds no reason to restart the job, it falls back on demand based invocation.

(Google翻訳) launchdがジョブを再起動する理由が見つからない場合は、要求ベースの呼び出しで失敗します。

launchdがジョブを再起動する理由が見つからない場合は、要求ベースの呼び出しにフォールバックします。

> Jobs that exit quickly and frequently when configured to be kept alive will be throttled to conserve system resources.

(Google翻訳) システムリソースを節約するために、生存状態に保たれるように構成されているときにすばやく頻繁に終了するジョブは抑制されます。

システムリソースを節約するために、起動状態を維持するよう設定されているジョブが頻繁に終了する場合、そのジョブは抑制（スロットリング）されます。


### SuccessfulExit <boolean>

> If true, the job will be restarted as long as the program exits
> and with an exit status of zero. 

trueなら、プログラムのexitステータスが0で終了した場合、当該のジョブは再起動される。

> If false, the job will be restarted in the inverse condition.

falseなら、その逆の条件の場合に再起動される。

> This key implies that "RunAtLoad" is set to true, since the job needs to run at least once before an exit status can be determined.

このキーは意味する "RunAtLoad" がtrueにセットされることを, なのでこのジョブは必要とする最低でも1回は実行される必要がある、終了ステータスが判断できるようになる前に

(Google翻訳) このキーは、「RunAtLoad」がtrueに設定されていることを意味します。これは、終了ステータスを判断する前にジョブを少なくとも1回は実行する必要があるためです。

### Crashed <boolean>

> If true, the the job will be restarted as long as it exited due to a signal which is typically associated with a crash (SIGILL,SIGSEGV, etc.).

Trueの場合, このジョブは再起動される終了されたとき

(Google翻訳) trueの場合、クラッシュに関連するシグナル（SIGILL、SIGSEGVなど）のためにジョブが終了する限り、ジョブは再開されます。

> If false, the job will be restarted in the inverse condition.

falseなら、その逆の条件の場合に再起動される。