「Linux」で「systemd」を使ってサービスを開始、停止、再起動するには
今回は「「Linux」で「systemd」を使ってサービスを開始、停止、再起動するには」についてご紹介します。
関連ワード (Linuxノウハウ、特集・解説等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
筆者は何十年も前から「Linux」OSを使用しているので、GUIとターミナルウィンドウのどちらを使うかに関係なく、必要なタスクのほぼすべてを自分で完了することができる。サービスを開始、停止、再起動することも、そうしたタスクの1つだ。
Linuxを初めて使用する人も、心配は無用である。サービスを常に監視して保守する必要があるわけではないからだ。ただし、Linuxデスクトップは極めて信頼性の高いOSではあるものの、サービスの開始、停止、再起動が必要になることもある。
「systemd」を起動サービスとして使用するディストリビューションのユーザーは、安心してほしい。systemdには、そのプロセスを大幅に簡素化する非常に便利なツールが含まれているからだ。
本記事では、そのツールを使って、サービスの開始、停止、再起動を実行する手順を解説する。
必要なもの:サービスの開始、停止、再起動を実行するには、systemdを使用するLinuxディストリビューションが必要だ。幸い、最近のLinuxディストリビューションのほとんどはsystemdを採用している。
「Ubuntu」(または、Ubuntuの公式スピンのいずれか)や「Linux Mint」「elementary OS」「Fedora」、そのほかの無数のディストリビューションを使用している人は、問題ないはずだ。あと、sudo権限を持つユーザーも必要である。
それでは、実際の作業に移ろう。
最初に、デスクトップメニューからターミナルアプリケーションを開く。
次に、開始するサービスの名前を確認する必要がある。分かりにくい名前が付けられていることもあるので、少し苦労するかもしれない。
例えば、セキュアシェルサーバーがデスクトップにインストールされているとしよう(これにより、コマンドラインからマシンにリモートアクセスすることが可能になる)。設定ファイルに何らかの変更を加えたため、サービスを停止、開始、または再起動することが必要になった。サービスの名前を確認するには、以下のように、psコマンドをgrepにパイプして使用する。
psコマンドは、現在のプロセスのスナップショットを報告する。auxオプションは、どのように実行されたのかに関係なく、システム上で実行中の事実上すべてのプロセスを出力する。次に、パイプ(|の記号)も使用して、ps auxの出力をgrepコマンドの入力として使用し、特定のパターン(今回のケースではssh)に一致する行を出力する。
コマンドの出力には、sshとsshdの両方が表示される(sshdのdはデーモンであることを示している)。これで、対象のサービスはsshdであることが分かった。
Linux上で、systemdを使用してサービスを開始、停止、再起動するには、systecmctlコマンドを使用する。SSHサービスを開始する場合、コマンドは以下のようになる。
SSHサービスを停止するには、以下のコマンドを実行する。
サービスを再起動するには、以下のコマンドを実行する。
systemdを使用するLinuxディストリビューションでサービスを開始、停止、再起動する手順の解説は、以上である。最初にサービスの名前を確認する必要があることに注意してほしい。ps aux | grepコマンドで名前を確認できない場合は、対象のサービスをGoogleで検索するといいだろう(例えば、SSHのデーモンは何と呼ばれるのか、「Apache」ウェブサーバーのデーモンは何と呼ばれるのか、というように検索することが可能だ)。