WSLはバックグラウンドタスクのサポートを受けています
Windows 10ビルド17046以降、Windows Subsytem for Linux(WSL)は、Windowsサブシステムにサービスがある場合と同様に、長時間実行されるバックグラウンドタスクをサポートするようになりました。 これは、次のようなサーバーを使用するWSLのユーザーにとって非常に印象的な変更です。 Apache またはのようなアプリ 画面 また tmux. これで、通常のLinuxデーモンのようにバックグラウンドで実行できます。 デーモンを実行する機能がなく、ユーザーからの要望が多かった。
昇格されたインスタンスと昇格されていないインスタンス
デーモンのサポートに加えて、WSLは、他のセッションのアクセス許可に影響を与えることなく、昇格されたプロセスインスタンスと昇格されていないプロセスインスタンスの両方を同時に持つことができるようになりました。
スタートアップタスク
ビルド17046以降のWSLは、起動タスクをサポートするようになりました。 SysVやOpenRCなどの従来のLinuxinitシステムや最新のSystemDinitシステムはサポートされていませんが、カスタム起動スクリプトを作成したり、タスクスケジューラを使用したりすることが可能になりました。
実行中のバックグラウンドタスク
バックグラウンドタスク機能の動作をテストするには、InsiderPreviewインスタンスをWindows10ビルド17046にアップグレードし、バックグラウンドで実行できるアプリをインストールします。 たとえば、 tmux、仮想マルチプレクサアプリ。
次のコマンドを使用して、新しいtmuxバックグラウンドセッションを作成できます。
tmux new -s backgroundsession
セッションは単に「backgroundsession」という名前になります。
バックグラウンドで実行されていることを確認するために、psやhtopなどの任意のプロセスマネージャーを使用できます。 これがhtopの出力です。
これで、WSLウィンドウを閉じることができ、タスクは実行されたままになります。
これをチェックアウトするには、新しいWSLウィンドウを開き、次のコマンドを使用して利用可能なtmuxセッションをチェックアウトします。
tmux ls
前のセッションが実行されていることがわかります。
次のコマンドで再度アクティブにして、中断したところから続行できます。
tmux attach -t backgroundsession
興味のある記事:
- Windows10でWSLを有効にする
- Windows10でWSLのデフォルトユーザーを設定する
- Windows10のMicrosoftStoreからLinuxディストリビューションをインストールします
ソース: MSDNブログ.