問題タブ [keyboardinterrupt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1307 参照

assembly - MS-DOS で新しいキーボード割り込みをフックするのに助けが必要

組み立てクラスの課題に取り組んでいます。

以前は、タイマーを割り込み表示にして、刻みごとに「時計」を更新することができました。

この知識を使用して、キーボード割り込みを置き換えようとしています。しかし、新しいキーボード割り込みハンドラーのインストールをコメントアウトしても、私のプログラムは MS-DOS の動作に干渉しています (つまり、実行可能ファイルを実行できず、'dir'、'cd' および同様のコマンドしか使用できません)。

インストールをコメントアウトしても問題があるので、アンインストールかold_keyの保存に問題があると思います。ただし、何が問題なのかわかりません。インストールとアンインストールのコードは、本質的に同様のタイマー割り込みのインストール/アンインストール コードであってはなりませんか?

どうぞよろしくお願いいたします。

0 投票する
2 に答える
5524 参照

r - Rで「sink()」を使用してファイルからstdoutへの書き込みを切り替える

いくつかのファイルを書き込み、書き込みが完了したときに各ファイルの最後にメッセージを出力することを目的とした次の手順を実装しました。

sink()私の問題は、ループの最初にa を追加しないと、標準出力 ( cat(paste(filename, "done !\n"))) への最後の書き込みが効果がないことです。一方、これを早期に追加するsink()と、回避したい警告が生成されます。

sink() がどのように動作するか、および/またはこれらの警告を取り除く方法について誰かが考えていますか?

注:私も試しtry(sink(), silent=TRUE)ましたが、silentオプションはエラーのみを防ぎます...

0 投票する
1 に答える
968 参照

python - ねじれたプログラムで raw_input を中断する

この説明とこの回避策を参照します。

だから私がやっていることは次のとおりです。

問題は、メニューが停止する必要があることを通知され、すぐに停止することですraw_input

したがって、twisted はデフォルトの割り込みハンドラを削除しているため、raw_input停止しません。enter停止するには、後で押す必要があり^Cます。

デフォルトの割り込みハンドラーをインストールせずに raw_input を強制的に停止するにはどうすればよいですか。これはねじれたコンテキストで問題の原因となります (ねじれたコンテキスト自体は中断されることを予期していないため)。

raw_inputこの問題は、無制限の時間 (または事前設定された制限よりも長い時間) を要する関数は、何らかの方法で中断する必要があるということだけに関連しているとは思いません。

これに対して受け入れられているねじれたパターンはありますか?

編集

これは完全なテスト コードです。

2つの異なる方法で実行できます。

通常の方法:

を押すと^C、プログラムがすぐに停止します。

予想通り。

ねじれた方法:

押すと、次のもの^Cが生成されます。

しかしaskUser、実際には中断されていません。終了enterするには、まだ押す必要があります。raw_input

0 投票する
2 に答える
217850 参照

python - プログラムのシャットダウン中に Python で KeyboardInterrupt をキャッチする

私は Python でコマンド ライン ユーティリティを作成していますが、これは運用コードであるため、大量のもの (エラー コード、スタック トレースなど) を画面にダンプすることなく、きれいにシャットダウンできるはずです。これは、キーボード割り込みをキャッチする必要があることを意味します。

次のような try catch ブロックの両方を使用してみました。

そしてシグナル自体をキャッチします(この投稿のように):

どちらの方法も、通常の操作では非常にうまく機能しているようです。ただし、アプリケーションの最後のコードのクリーンアップ中に割り込みが発生した場合、Python は常に画面に何かを出力するようです。割り込みをキャッチすると

一方、信号を処理すると、次のいずれかが得られます

また

これらのエラーは見苦しいだけでなく、あまり役に立ちません (特にソース コードを持たないエンド ユーザーにとっては)。

このアプリケーションのクリーンアップ コードはかなり大きいため、実際のユーザーがこの問題に遭遇する可能性は十分にあります。この出力をキャッチまたはブロックする方法はありますか、それとも私が対処しなければならないものですか?

0 投票する
0 に答える
516 参照

error-handling - Common Lisp キーボード割り込み

Common Lisp でキーボード割り込みをキャプチャするクロス実装 (少なくとも SBCL、CCL、Lispworks、CLISP)、クロスプラットフォーム (Linux/Windows/OS X) の方法はありますか? または、より具体的には、キーボードを中断させるには?

ファイルにこのコードスニペットがあります

その目的はエラーを処理することですが、ユーザーがキーボード割り込みでプログラムを中断できるようにします (Linux の SBCL では として現れますsimple-error)。ただし、これは機能しないようですCCL(メイン コードがエラーをスローしなくてもエラー節がトリガーされるように見える場合)。

この状況での正しいアプローチは何ですか?

0 投票する
2 に答える
653 参照

python - Python: KeyboardInterrupt で例外なく Tornado ioloop が強制終了される

^C次のプログラムで竜巻をブロックしているときに押すioloop.start()と、Python はすぐに終了し、KeyboardInterrupt (またはその他の例外) は発生しません。何が起こっていて、どうすればキャッチでき^Cますか?

出力:

期待される出力:

私は走っています:

  • Windows 8.0 x64、
  • Python 2.7.6 (デフォルト、2013 年 11 月 10 日 19:24:18) [MSC v.1500 32 ビット (Intel)] on win32
  • 竜巻==3.2