問題タブ [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 に答える
214 参照

sockets - キーボード割り込みの処理

REPLで最小限の TCP サーバーを実行していSML/NJますが、キーボード割り込みでリスナー ソケットを適切に閉じる方法を知りたいと思っています。サーバーの簡素化されたバージョンは

問題は、ポートでリッスンしているこのサーバーを起動し、キーボード割り込みでキャンセルしてから、同じポートで再起動しようとすると、エラーが発生することです。

そのため、エラーが発生したときにリッスン ソケットを閉じられるようにしたいと考えています。Interruptキーボード割り込みを発行するとREPLに表示されるので、それInterruptがキャッチする予定の例外のコンストラクターであると想定しました。ただし、適切なhandle行をacceptLooporに追加serveしても、私が望むことはできないようです。

(その後、REPLで)

変数 ( handle x => (Socket.close s; raise x)) またはワイルドカード ( handle _ => Socket.close s) 例外一致で同じことを行うと、上記と同じ効果があります。

0 投票する
6 に答える
6481 参照

python - ループ内のタイムアウト付きのユーザー入力

タスクを実行し、ユーザーに応答を求めるループ python 関数を作成しようとしています。ユーザーが指定された時間内に応答しない場合、シーケンスが繰り返されます。

これは、次の質問に大まかに基づいています: raw_input に時間制限を設定する方法

タスクは で表されsome_function()ます。タイムアウトは秒単位の変数です。次のコードには 2 つの問題があります。

  1. raw_input プロンプトは、ユーザーがプロンプトを出すかどうかに関係なく、指定された 4 秒後にタイムアウトしません。

  2. 'q' の raw_input が入力されると (入力されたものはすべて文字列として自動的に入力されることがわかっているため、'' なしで)、関数はループを終了しません。

`

`

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

python - PyDev コンソールで実行中のコマンドを停止する

私は PyDev コンソールを使用して長いスクリプトを実行していますが、コマンドの途中で停止したいことがよくあります。通常の python シェルで ctrl+c を押すと、キーボード割り込みでコマンドが停止します。しかし、PyDev コンソールでは代わりにテキスト コピーを行います。

このコンソールでコマンドを終了せずに停止するにはどうすればよいですか?

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

python - クラス内にデコレータを作成することは可能ですか?

または、私がやろうとしていることの代替ソリューションを考えることができるかもしれません. 基本的に、各関数をきちんとクリーンアップする関数があるため、 KeyboardInterruptエラーをインターセプトするために try/except ブロックでラップしたい関数の束を持つクラスがあります。

各関数に巨大な try catch ブロックを配置する代わりに、それを行うデコレータを作成できると考えましたが、いくつかの問題が発生しています。これまでのところ、私はこのようなものを持っています

これを実行したときの問題は、エラーが発生することです

これは可能ですか?より良い方法はありますか、それとも実際に各関数の内部に try/except ブロックを配置する必要がありますか?

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

python - Python sys.exit() が Windows 7 コマンド プロンプトで機能しない

だから私はあなたが期待するようにコマンドプロンプトで実行するpythonスクリプトを持っています

スクリプト内には、Ctrl+C をインターセプトする行があり、いくつかのことを片付けてスクリプトをシャットダウンすることになっています。

しかし、実際にはプログラムを終了していないようです。メッセージが出力されるので、その割り込み信号を取得していることがわかりますが、コマンドプロンプトで制御を戻すことができず、タスクマネージャーを見ると、まだ実行中のpythonプロセスが表示されます。そのプロセスを終了して初めて、私はコントロールを取り戻すことができます。実際、プログラムが中断されることなく正常に終了したとしても、プロセスは残ります。

私のプログラムは子スレッドを生成します。そのため、例外ではないと聞いた他のメソッドよりもsys.exit()を使用し、より突然終了します。

私は何か間違ったことをしていますか?これを行うクロスプラットフォームの方法はありますか (これは私が sys.exit() だと思っていたものです)?

編集:だから私は問題を切り分けました。小さなテスト スクリプトを作成しましたが、スレッドを作成しても死なず、プログラムが終了しないようです。セットアップを表示するために初期コードを変更しました。

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

c - インライン アセンブリ内で C で宣言された変数を使用する方法

以下のインライン アセンブリ コード内で変数 ret を使用する方法を理解しようとしていますが、このエラーが引き続き発生します: 'ret への未定義の参照です。

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

python - Python 3.4.3 KeyboardInterrupt は機能しますが、そのブロック内でコードを実行しません

私はいくつかの Python チュートリアルを実行して、言語について可能な限り多くのことを学ぼうとしていますが、例外処理に問題があります。を使用して、Windows 10 の cmd でコードを実行していますPython 3.4.3。具体的には、KeyboardInterruptブロックは Ctrl + C が押されたときに何も出力しません。それは必ずしも重要ではありませんがKeyboardInterrupt、ファイルへの書き込みなど、他のアクションを実行する必要がある場合を考えています。

最初のユーザー入力中に Ctrl + C を押すと、「中断されました」というメッセージを出力する代わりに、出力は次のようになります。 Please enter a Length : Traceback (most recent call last):

私はWindows 10にいて、cmdでコードを実行しています。何か案は?