タブ付きの方法で複数のコンソール セッション (cmd.exe になるウィンドウ) を開くことができるアプリをコーディングしようとしています。
私が見つけた最も重要な参照の 1 つは、次の URL にあり、TextAreaOutputStream コードを取得して、プロセスから STDOUT を読み取ることができましたが、これとインターネット上のほとんどの参照は解決/修正されません。私が扱っている問題。
STDOUT、STDERR、および STDIN をリダイレクトすることで問題が発生した場合でも、タブの 1 つで Java コンソール内に入力したコマンドが子プロセスを作成するコマンドを実行するときに、最悪の部分が発生します。これは、私の Java アプリケーションが制御を失ったときです。新しいプロセスがバックグラウンドで作成されました。基本的に、新しい子プロセスは範囲外であり、バイトを送受信できず、アプリがハングします。
- JVM
- MyTabbedConsoleApp
- cmd.exe /k (私はまだこれと通信できます。ここまでは問題ありません)
- apptrack.exe (子プロセスがアプリの範囲外で、これと通信できず、アプリがハングします)
- cmd.exe /k (私はまだこれと通信できます。ここまでは問題ありません)
- MyTabbedConsoleApp
コンソール環境をほぼ模倣したアプリを作成するためのより良い方法を探しています。