\r\n\r\n
アクティビティモニタをスクロールしていると、見慣れないプロセス「launchd」があることに気づきました。 心配ですか?いいえ、これは実はmacOSのコアな部分なのです。
関連: このプロセスは何ですか、なぜ私のMacで実行されているのですか?
この記事は、アクティビティモニタの様々なプロセス(kernelu task, hidd, mdsworker, installd, WindowServer, bluedなど)について説明する連載の一部です。どのようなサービスかご存じないですか?読み始めた方がいい!?
このプロセス launchd は macOS で使われている **** フレームワークで、Windows の Service Control Manager や多くの Linux ディストリビューションの systemd に似ています。 サービス」とはバックグラウンドで動作するもので、macOS では、これらはしばしばデーモンと呼ばれ、「d」で終わる名前が付けられています。Macがネットワークに接続し、モニターにコンテンツを表示し、ファイルをバックアップするために行うことはすべて、何らかの形でデーモンによって行われる。
Macの電源を入れると、launchdはカーネルの次に起動するものの一つです。そのため、すべてのMacシステムで、launchdのプロセスIDまたはPIDは1になっています。
唯一の下位番号は0であり、これはカーネルに属し、ここではkerneluタスクと表現される。
launchdは、Macの起動後もバックグラウンドで動作し、デーモンがまだ動作しているかどうかをチェックし、後で様々なプログラムを実行するために必要なデーモンを起動します。
launchdがシステムリソースを大量に消費することは非常に稀で、そのような場合は通常Macを再起動すれば解決します。時々、欠陥のあるプログラムが欠陥のあるデーモンを起動しようとして、launchdが多くのCPUを使用することがあります。最近何かをインストールしたのなら、それを削除してみて、それがうまくいくかどうか見てください。
launchdはユーザーが考える必要のないものであることが多いが、launchctlというlaunchdとインターフェイスするターミナルツールのおかげで、launchdと直接インターフェイスすることが可能である。launchctl listと入力すると、現在Macで動作しているすべてのバックグラウンドサービスのリストが表示されます。
よほど上級者でない限り、この内容を扱うのは良い考えとは言えませんが、興味のある方は launchctl help と入力すればサブコマンドの候補が表示されますし、この上級者向けの起動チュートリアルも読んでみてください。