(これは実際にMS-Windowsに関する質問だと思いますが、他のSOサイトよりもここで合理的な答えを得る可能性が高いと思います。)
WSL(Ubuntuを実行している)でMS-Windows実行可能ファイルを実行すると、$ !が表示されます(ps
などで見ることができます)。しかし:
- このPIDは、MS-Windowsプロセスの終了後も持続します(LinuxホストからPIDを削除する唯一の方法はkill -KILLです)。
- LinuxでPIDを終了しても、MS-Windowsプロセスの実行には影響しません。
SSHトンネルを起動し、そのトンネルを使用するMS-Windows実行可能ファイルを起動するスクリプトを作成しています。 MS-Windowsプロセスがまだ実行中であることを確認でき、LinuxスクリプトでWindowsプロセスを終了できる場合は、かなりの利点があります。
どうすればいいですか?
ベストアンサー1
これを行うには、Windowsツールを使用する必要があります。しかし、良いニュースは電話をかけることができるということですwsl
:)
.$PATH
.exe
notepad.exe
名前付きプロセスを確認するには、次の手順を実行しますbash
。
if tasklist.exe | grep notepad.exe > /dev/null ; then echo "notepad running"; fi
そしてそれを殺す:
taskkill.exe /F /IM notepad.exe
これは、その名前で実行されるプロセスのインスタンスが1つしかないと仮定します。より詳細な情報が必要な場合は、tasklist.exe
出力を解析して実際のWindows PIDなどの情報を取得する必要があります。