問題タブ [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 投票する
0 に答える
1082 参照

python - Python -- コンソールでイベント ループを作成する方法

Python 2.7 を使用して、プログラムを内部で実行できるイベント ループを作成するにはどうすればよいですか? 私の考えでは、スクリプトが実行され、イベント ループが特定のキー (qこの場合) の押下を検出し、 と同じことを行いKeyboard Interuptます。

この質問を見たことがありますが、適用方法がわかりませんでした。

また、リンクされた質問の OP のように、(可能であれば) 外部モジュール/パッケージなしでこれを行いたいと思います。

必要に応じてプログラム コードを投稿できますが、この場合は関係ないと思います。

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

windows - ctrl+c でブロックしているシステム コールを中断する

これは、私が使用しているコードのスリム化された例です。

これは、ctr+c が押されたときにスリープを中断し、プログラムの実行を継続して「awake!」を出力するという考え方です。または、少なくとも ctrl+c が押されたときの実行場所のスタック トレースを教えてください。

呼び出しは、ソケットからの読み取りのブロックなど、ブロックする任意のSleepExシステム コールである可能性があります。

ctrl_handler通話を中断するには、my に何を記入すればよいですか? プロセス全体を終了する以外に、何も見つかりませんでした。それが不可能な場合は、それを答えとして受け入れますが、その理由を本当に知りたいです。

nanosleep代わりにを使用して、Linux 用にコーディングされた同等のプログラムを次に示しSleepExます。

それはまさに私が望むように機能します。nanosleep で Ctrl+c を押すと、すぐに中断され、「スリープ終了」を出力して実行が続行されます。Windows 上の SleepEx で同様のことができないのはなぜですか?

EDITへの2 番目の引数SleepExはもちろん TRUE にする必要があります。それはタイプミスでした。

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

python - PyQtでプッシュボタンをキーボード割り込みに設定する方法

ターミナルを介してプログラムを実行しているときに、「Ctrl+c」を押してプログラムを停止すると、「KeyboardInterrupt」というメッセージが表示されます。それで、PyQtのプッシュボタンをクリックすることで正しいことをする方法はありますか.

0 投票する
3 に答える
45647 参照

python - GPIO.setup と GPIO.cleanup の RuntimeWarnings が KeyboardInterrupt で機能しない

ラズベリー pi で動作するコードに問題があります。Pythonを始めたばかりなので、助けが必要です。

これはコードです:

このエラーを実行すると、コンソールに次のように表示されます。

RuntimeWarning: このチャネルは既に使用されていますが、続行しています。警告を無効にするには、GPIO.setwarnings(False) を使用します。GPIO.setup(led1, GPIO.OUT) および:

RuntimeWarning: このチャネルは既に使用されていますが、続行しています。警告を無効にするには、GPIO.setwarnings(False) を使用します。GPIO.setup(led2、GPIO.OUT)

私が正しく理解している場合、コマンドGPIO.cleanup()は GPIO ポートのすべてのピンをリ​​セットし、LED をオフにする必要があります。

しかし、これは実際には起こらず、LED の 1 つが点灯したままです。

この問題を解決するためにコードを変更するにはどうすればよいですか?

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

powershell - ユーザー割り込み時のクリーン セッション

ユーザーがpowershellスクリプトを中断したときにキャッチする方法はありますか.

PSSession を終了する必要があります。

try finally を使用してテストしましたが、スクリプトが中断されたときに finally が実行されませんCtrl+c

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

python - python tkinterでイベントを一時停止する

ラズベリーパイでpython 2.7 tkinter guiを使用して、いくつかの材料テストを自動化しています。テストのために、複数のサンプルをテストする必要があり、サンプルの交換に時間がかかります。「サンプル1を挿入してからキーボードのEnterキーを押してください」のようなテキストを表示し、Enterキーが押されるまで関数を一時停止させたいと思います。Enter キーを押す代わりに、tkinter ボタンを使用することもできます。外部ライブラリを使用しないアイデアはありますか? ボタンが押されたらループを終了しようとするwhileループを試しましたが、ループが実行されているため、ボタンは登録されません。

サンプル コード (多くのコードを削除し、関連するものを残しました):

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

python - Python のマルチプロセッシング プール imap とのキーボード割り込み

この質問のいくつかの提案に従ってくださいPythonのマルチプロセッシングプールを使用したキーボード割り込み 、 test.pyという名前のテストコードを作成します

ターミナルで python test.py を実行すると:

私はまだ KeyboardInterrupt トレースバックを取得しています。さらに、スクリプトを停止するには Ctrl^C を 2 回送信する必要があります。KeyboardInterrupt を処理して、tarceback を出力せずに Ctrl^c を 1 回だけ使用して適切に停止するにはどうすればよいでしょうか。