CPU を大量に消費する CPU をシャットダウンするために taskkill.exe のタイムアウトを延長することは可能ですか?

CPU を大量に消費する CPU をシャットダウンするために taskkill.exe のタイムアウトを延長することは可能ですか?

わかりました。私はコマンド ラインで遊んでいて、無限ループを使用して画面に視覚効果を生み出せるかどうか試していました。ASCII アートで遊んでいました。最初はtimeout /t 1after eachを使用しechoていましたが、ウィンドウを 1 インチ x 1 インチの小さな正方形 (小さいフォント) に縮小しても、出力の切り替えが十分に速くありませんでした。

とにかく、私はその 1 秒のタイムアウトを半分にしたかったのですが、VBS の sleep コマンドを使用するバッチ ファイルに何という名前を付けたか思い出そうとしていたときに、愚かにもタイムアウトをまったく省略してしまいました。そしてもちろん、そのバージョンの cmd.exe が利用可能な CPU サイクルをほぼすべて取得してしまい、マシンは事実上停止してしまいました。

グラフィカルを使用してプロセスを終了しようとしましたtaskman.exeが、何らかの理由で右クリックしてしまい、閉じることができない 2 項目のコンテキスト メニューが表示され、その下には実行中のすべてのプロセスが点滅し、クリックすることも並べ替えることもできません。しかし、それがなくても、まだ使用に問題があるのではないかと思います。

TASKKILL.EXE終了しようとするとどれでもプロセスを実行すると、次のようになります。

ERROR: This operation returned because the timeout expired.

そして時々次のようなものも得られます:

ERROR: Server execution failed.

過去数時間、Nook だけを使ってタイムアウトを延長する方法に関する情報を検索しましたが、見つからず、もう諦めかけていました。保存する必要があるものが開いているので、ただシャットダウンしたくはないのですが、我慢して電源を切るしかないようです。

暴走したプロセスを閉じたり、タイムアウトを排除したりするために使用できるアイデアがあれば、TASKILL本当にありがたいです。


EDIT:ハリーは、どのコードがこの動作を引き起こしたのかを知りたかったので、コンピューターを強制的に電源オフにする準備ができていない限り、誰もこのコードを実行しないよう提案して、コードを追加します。

印刷していた正確なデザインは覚えていません。保存しようとしましたが、明らかに失敗しました。ただし、コードは次のとおりです。

@for /l %x in (0 0 1) do (
echo.
echo.
echo  ASCII Art
echo  ASCII Art
echo  ASCII Art
echo  ASCII Art
echo  ASCII Art
echo.
REM @timeout /t 1 > nul
echo.
echo.
echo.
echo  ASCII Art
echo  ASCII Art
echo  ASCII Art
echo  ASCII Art
echo  ASCII Art
echo.
REM @timeout /t 1 > nul
echo.
echo.
)

答え1

これらの症状は、ハードウェアの問題、または破損した OS (マルウェア感染、バグのあるデバイス ドライバー、互換性のないセキュリティ ソフトウェアなど) が原因である可能性があります。

プログラムが 100% の CPU で実行されているからといって、そのような症状が発生することはありません。(ここでテスト マシンでコードを実行したところ、予想どおり、まったく問題は発生しませんでした。)

元の質問に答えると、問題のタイムアウトは taskkill に固有のものではなく、オペレーティング システムの内部タイムアウト (デッドロックを防ぐため) である可能性が高いため、(a) それを延長する方法はありません。また、(b) 延長できたとしてもおそらく役に立たないでしょう。

関連情報