カピバラ好きなエンジニアブログ

興味ある技術とか検証した内容を赴くままに書いていきます。カピバラの可愛さこそ至高。

wslの再起動方法

何回も調べてたので備忘がてら書いておきます。

  • 参考

kagasu.hatenablog.com


実施作業

コマンド実行

コマンドプロンプトを起動し、以下のコマンドを実行します。

  • コマンド
wsl -l


  • 結果

インストール済みの Linux ディストリビューション名が表示されます。
f:id:live-your-life-dd18:20200402152331p:plain


wslの停止コマンドを実行します。

  • コマンド
wsl -t <ディストリビューション名>
  • 結果

※WSL が自動的に再起動する...らしい
f:id:live-your-life-dd18:20200402154422p:plain

wslコマンドのオプション

helpコマンドでも確認できますが、wslコマンドのオプションは以下です。

  • Linux バイナリを実行するための引数
オプション 説明
--exec, -e <コマンド ライン> 指定したコマンドを、既定の Linux シェルを使用しないで実行します。
-- 残りのコマンド ラインをそのまま渡します。
--distribution, -d <ディストリビューション名> 指定したディストリビューションを実行します。
--user, -u <ユーザー名> 指定したユーザーとして実行します。
  • Windows Subsystem for Linux を管理するための引数
オプション 説明
--export <ディストリビューション名> <ファイル名> ディストリビューションを tar ファイルにエクスポートします。標準出力の場合は、ファイル名を - にできます。
--import <ディストリビューション名> <インストール場所> <ファイル名> 指定した tar ファイルを新しいディストリビューションとしてインポートします。標準入力の場合は、ファイル名を - にできます。
--list, -l [Options] ディストリビューションを一覧表示します。
--all 現在インストール中またはアンインストール中のものを含めてすべてのディストリビューションを一覧表示します。※listオプションと一緒に使用
--running 現在実行中のディストリビューションのみを一覧表示します。
-setdefault, -s <ディストリビューション名> ディストリビューションを既定として設定します。
--terminate, -t <ディストリビューション名> ディストリビューションを終了します。
--unregister <ディストリビューション名> ディストリビューションの登録を解除します。
--upgrade <ディストリビューション名> ディストリビューションを WslFs ファイル システム形式にアップグレードします。
--help 使用法を表示します。


追記(2020/04/02 16:04)

コマンドプロンプトを複数立ち上げて、片方のターミナルでwslにログイン、片方のターミナルで停止コマンドを実行したら以下のように出力されました。

Linux 用 Windows サブシステム インスタンスが強制終了されました。

停止コマンドが単純に起動しているwsl.exeプロセスをkillさせてるだけなら、複数ターミナルでwslを使用しているという状況でもない限りexitコマンドで抜けて、再度wslコマンドを実行したらよさそう。

常にwsl.exeプロセスを自動起動設定している人やexitコマンドで抜けてもバックグラウンドでプロセスが実行している時とかであれば、このコマンドを使う必要はありそうですね。

感想及び所感

色々調べてみるとコンソールを再起動するだけじゃダメとあったので今回のコマンドを実行しましたが、wslからexitコマンドで抜けるとwsl.exeプロセス自体がタスクマネージャーから見えなくなったので、もしかしてそれでも対応できたのでは...?

し次必要な時があれば試してみます。