Enviar búsqueda
Cargar
Pythonのシグナル処理
•
Descargar como PPTX, PDF
•
6 recomendaciones
•
12,608 vistas
Atsuo Ishimoto
Seguir
2011/10/15 Python Developers Festa 2011/10
Leer menos
Leer más
Denunciar
Compartir
Denunciar
Compartir
1 de 11
Descargar ahora
Recomendados
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
京大 マイコンクラブ
私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
マルチコアを用いた画像処理
マルチコアを用いた画像処理
Norishige Fukushima
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
Kohsuke Yuasa
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
Hiroyuki Wada
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
Recomendados
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
京大 マイコンクラブ
私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
マルチコアを用いた画像処理
マルチコアを用いた画像処理
Norishige Fukushima
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
Kohsuke Yuasa
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
Hiroyuki Wada
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
Ml system in_python
Ml system in_python
yusuke shibui
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
yohhoy
MQTTとAMQPと.NET
MQTTとAMQPと.NET
terurou
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回
Tomoya Kawanishi
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニング
Yuichi Ito
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
Introduction to boost test
Introduction to boost test
Kohsuke Yuasa
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
MITSUNARI Shigeo
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
Masahito Zembutsu
中3女子でもわかる constexpr
中3女子でもわかる constexpr
Genya Murakami
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
Más contenido relacionado
La actualidad más candente
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
Ml system in_python
Ml system in_python
yusuke shibui
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
yohhoy
MQTTとAMQPと.NET
MQTTとAMQPと.NET
terurou
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回
Tomoya Kawanishi
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニング
Yuichi Ito
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
Introduction to boost test
Introduction to boost test
Kohsuke Yuasa
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
MITSUNARI Shigeo
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
Masahito Zembutsu
中3女子でもわかる constexpr
中3女子でもわかる constexpr
Genya Murakami
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
La actualidad más candente
(20)
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Ml system in_python
Ml system in_python
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
暗号技術の実装と数学
暗号技術の実装と数学
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
MQTTとAMQPと.NET
MQTTとAMQPと.NET
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回
C++ マルチスレッド 入門
C++ マルチスレッド 入門
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニング
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Introduction to boost test
Introduction to boost test
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
Docker Compose 徹底解説
Docker Compose 徹底解説
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
中3女子でもわかる constexpr
中3女子でもわかる constexpr
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Similar a Pythonのシグナル処理
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
signal の話 或いは Zend Signals とは何か
signal の話 或いは Zend Signals とは何か
do_aki
StackExchangeで見たシステムプログラミング案件
StackExchangeで見たシステムプログラミング案件
yaegashi
HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編
Takashi Yoshinaga
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
Qt名古屋勉強会へのお誘い(OSC名古屋2017LT)
Qt名古屋勉強会へのお誘い(OSC名古屋2017LT)
Naoki Matsumoto
GoによるiOSアプリの開発
GoによるiOSアプリの開発
Takuya Ueda
Python physicalcomputing
Python physicalcomputing
Noboru Irieda
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
Hidemasa Togashi
Rtミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料
openrtm
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Kazuo Asano (@kazuo_asa)
po-1. プログラミング入門
po-1. プログラミング入門
kunihikokaneko1
Similar a Pythonのシグナル処理
(13)
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
signal の話 或いは Zend Signals とは何か
signal の話 或いは Zend Signals とは何か
StackExchangeで見たシステムプログラミング案件
StackExchangeで見たシステムプログラミング案件
HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Qt名古屋勉強会へのお誘い(OSC名古屋2017LT)
Qt名古屋勉強会へのお誘い(OSC名古屋2017LT)
GoによるiOSアプリの開発
GoによるiOSアプリの開発
Python physicalcomputing
Python physicalcomputing
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
Rtミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
po-1. プログラミング入門
po-1. プログラミング入門
Más de Atsuo Ishimoto
Pythonの紹介
Pythonの紹介
Atsuo Ishimoto
NumPyの歴史とPythonの並行処理【PyData.tokyo One-day Conference 2018】
NumPyの歴史とPythonの並行処理【PyData.tokyo One-day Conference 2018】
Atsuo Ishimoto
行列演算とPythonの言語デザイン
行列演算とPythonの言語デザイン
Atsuo Ishimoto
Django pgroonga
Django pgroonga
Atsuo Ishimoto
Python 3.6 リリースパーティー 発表資料
Python 3.6 リリースパーティー 発表資料
Atsuo Ishimoto
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
Atsuo Ishimoto
python.jpの使い方
python.jpの使い方
Atsuo Ishimoto
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築
Atsuo Ishimoto
Introduction to cython
Introduction to cython
Atsuo Ishimoto
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
Atsuo Ishimoto
Python3と向かい合ってみる
Python3と向かい合ってみる
Atsuo Ishimoto
Pythonのガベージコレクション
Pythonのガベージコレクション
Atsuo Ishimoto
Slide at PyCon mini JP on 2011/1/29
Slide at PyCon mini JP on 2011/1/29
Atsuo Ishimoto
String representation in py3k
String representation in py3k
Atsuo Ishimoto
Más de Atsuo Ishimoto
(14)
Pythonの紹介
Pythonの紹介
NumPyの歴史とPythonの並行処理【PyData.tokyo One-day Conference 2018】
NumPyの歴史とPythonの並行処理【PyData.tokyo One-day Conference 2018】
行列演算とPythonの言語デザイン
行列演算とPythonの言語デザイン
Django pgroonga
Django pgroonga
Python 3.6 リリースパーティー 発表資料
Python 3.6 リリースパーティー 発表資料
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
python.jpの使い方
python.jpの使い方
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築
Introduction to cython
Introduction to cython
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
Python3と向かい合ってみる
Python3と向かい合ってみる
Pythonのガベージコレクション
Pythonのガベージコレクション
Slide at PyCon mini JP on 2011/1/29
Slide at PyCon mini JP on 2011/1/29
String representation in py3k
String representation in py3k
Pythonのシグナル処理
1.
Pythonのシグナル処理 Python Developers
Festa 2011/10 2011/10/15 AtsuoIshimoto
2.
お前誰よ 石本敦夫@無職 改め@フリータ
Twitter: @atsuoishimoto
3.
シグナルって? プロセス間非同期通信の一種 Control+Cで実行中のプロセスが終了するのも、シグナルの仕事
POSIXで規定されてる->Unix/Windows等で利用可能
4.
Ctrl+Cを押しても止まらないプログラム Cで書くと void
sigint_handler(intsigno) { printf("received SIGINT"); } void main() { signal(SIGINT, sigint_handler); for (;;) { sleep(1); } }
5.
シグナルの使い方 Pythonでは defsigint_handler(signo,
frame): print "received SIGINT" import signal signal.signal(signal.SIGINT, sigint_handler) while True: signal.pause()
6.
ハンドラの起動まで C言語版 シグナル通知
プロセス シグナルハンドラ (例:sigint_handler)
7.
ハンドラの起動まで Pythonでは Pythonプロセス
Pythonスクリプトを実行 シグナル通知 シグナル受信フラグをセット 時々シグナル受信フラグをチェック シグナル有り シグナルハンドラを実行 チェック周期は、sys.getcheckinterval()で決まる
8.
シグナルハンドラの起動タイミング シグナルハンドラの起動は非同期 Pythonのバイトコードを一定数実行したとき
C API の PyErr_CheckSignals()を呼び出したとき ファイルIO処理中に時々呼び出されたりする シグナル発生からハンドラ起動まで、すっごい時間がかかるときがある。 sys.setcheckinterval() 時間のかかるC拡張(正規表現検索など)
9.
Signalとスレッド:混ぜるな危険 SIGTERMを受け取るまで待ち合わせする処理 この処理は、ev.wait()から先に進まない。
Event.wait()はPyErr_CheckSignals()を呼び出さないため、シグナルハンドラが呼び出されることはない。 ev = threading.Event() def handle_term(signo, frame): ev.set() signal.signal(signal.SIGTERM, handle) ev.wait()
10.
システムコールの割り込み void sigint_handler(intsigno)
{ printf("received SIGINT"); } void main() { signal(SIGINT, sigint_handler); while (1) { read(0, 1000, buf); } } ishimoto@ubuntu:~$ ./a.out adfkn^C^C^C^C^C^C^C^C^C^C^C^C^C^C Ctrl+Cを押してもSIGINTが発生しない
11.
システムコールの割り込み import sys,
signal def sigint_handler(signo, frame): print "received SIGINT" signal.signal(signal.SIGINT, sigint_handler) while True: sys.stdin.read(100) ishimoto@ubuntu:~$ python a.py sadf ^Creceived SIGINT ^Creceived SIGINT Traceback (most recent call last): File "a.py", line 9, in <module> sys.stdin.read(100) IOError: [Errno 4] Interrupted system call SIGINTが発生する!
Descargar ahora