Microsoftは2017年12月4日(現地時間)、WSL(Windows Subsystem for Linux)において、バックグラウンドタスクをサポートすることを公式ブログで明らかにした。

Windows 10 Insider Preview ビルド17046以降で同機能を実装し、2018年3月リリース予定の次期機能更新プログラムで広く利用可能になる。同社は「sshd、httpd、screenもしくはtmuxを起動した場合、コンソールウィンドウを開き続ける必要があったものの、ビルド17046以降は最後のコンソールウィンドウを閉じても、プロセスはバックグラウンドで実行し続ける」と説明した。

  • ウィンドウ1でtmuxを起動し、その上でhtopを実行。ウィンドウ2ではtmuxのセッションが確認できる

    ウィンドウ1でtmuxを起動し、その上でhtopを実行。ウィンドウ2ではtmuxのセッションが確認できる

  • ウィンドウ1を閉じた後、ウィンドウ2で再びtmuxのセッションを確認すると、バックグラウンドにタスクが残っている

    ウィンドウ1を閉じた後、ウィンドウ2で再びtmuxのセッションを確認すると、バックグラウンドにタスクが残っている

  • 「tmux attach -t [セッション名]」を実行すれば、tmuxのセッションを呼び出せる

    「tmux attach -t [セッション名]」を実行すれば、tmuxのセッションを呼び出せる

LinuxはSysVinit系とsystemd形によるタスクの自動起動をサポートしているが、現時点でWSLはこれらのスタートアップタスクには未対応。Microsoftは「タスクスケジューラ」などを利用して、スタートアップスクリプトを呼び出すことで、Linuxディストリビューションと似た環境の構築が可能になると説明する。また同社は各initの構造を調査中と述べていることから、今後cronなどもサポートされる可能性は少なくない。

阿久津良和(Cactus)