Linuxのバックグラウンドタスクのサポート改善
「Build 17046」以降の「WSL」では、Linuxのバックグラウンドタスク(デーモンやサービス)のサポートが改善され、コンソールウィンドウを開いていなくても、これらのプロセスを継続的に実行できるようになりました。今までは、最低でも1つ以上のLinuxディストリビューションを実行しているコンソールウィンドウを開いておく必要がありました。
この制限が緩和され、Linuxディストリビューションを実行しているコンソールウィンドウがなくても、バックグラウンドタスクが動作できるようになりました。
つまり今までよりも簡単に、「sshd」「httpd」「screen」「tmux」といったサービスを利用できるようになります。
sshdをバックグラウンドで動かしてみよう
ここでは例として、「sshd(openssh-server)」をバックグラウンドで動かしてみます。ディストリビューションは、「Ubuntu」を利用します。
1.sshdの起動
「sshd」を起動します。2.sshdが起動しているか確認
再度「Ubuntu」を起動し、「sshd」が動作しているか確認します。動作していますね。
不要になったら忘れずにサービスの停止を
今までと異なりコンソールウィンドウを閉じても(WSLセッションを終了しても)サービスは起動したままになります。サービスが不要になったら、忘れずにサービスを停止しておきましょう。
スタートアップタスクについて
ディストリビューション起動時にプロセスを起動する仕組みは提供されていません。Windowsのタスクスケジューラーを使用して、ユーザーが自分で作成したスクリプトを特定のタイミングで実行する方法があります。
その方法は、後日紹介される予定です。