Suche senden
Hochladen
Pythonのシグナル処理
•
Als PPTX, PDF herunterladen
•
6 gefällt mir
•
12,608 views
Atsuo Ishimoto
Folgen
2011/10/15 Python Developers Festa 2011/10
Weniger lesen
Mehr lesen
Melden
Teilen
Melden
Teilen
1 von 11
Jetzt herunterladen
Empfohlen
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
目grep入門 +解説
目grep入門 +解説
murachue
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
ShunsukeNakamura17
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
Yuta Kikuchi
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
Shota Imai
最適化超入門
最適化超入門
Takami Sato
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
Empfohlen
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
目grep入門 +解説
目grep入門 +解説
murachue
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
ShunsukeNakamura17
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
Yuta Kikuchi
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
Shota Imai
最適化超入門
最適化超入門
Takami Sato
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
NumPy闇入門
NumPy闇入門
Ryosuke Okuta
モデル高速化百選
モデル高速化百選
Yusuke Uchida
Marp Tutorial
Marp Tutorial
Rui Watanabe
Ml system in_python
Ml system in_python
yusuke shibui
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
Active Learning 入門
Active Learning 入門
Shuyo Nakatani
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
Yahoo!デベロッパーネットワーク
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
Jingun Jung
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
Yahoo!デベロッパーネットワーク
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森
Masashi Komori
最適輸送入門
最適輸送入門
joisino
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
Preferred Networks
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Preferred Networks
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier_IV
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
Satoshi Hara
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
Weitere ähnliche Inhalte
Was ist angesagt?
NumPy闇入門
NumPy闇入門
Ryosuke Okuta
モデル高速化百選
モデル高速化百選
Yusuke Uchida
Marp Tutorial
Marp Tutorial
Rui Watanabe
Ml system in_python
Ml system in_python
yusuke shibui
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
Active Learning 入門
Active Learning 入門
Shuyo Nakatani
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
Yahoo!デベロッパーネットワーク
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
Jingun Jung
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
Yahoo!デベロッパーネットワーク
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森
Masashi Komori
最適輸送入門
最適輸送入門
joisino
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
Preferred Networks
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Preferred Networks
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier_IV
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
Satoshi Hara
Was ist angesagt?
(20)
NumPy闇入門
NumPy闇入門
モデル高速化百選
モデル高速化百選
Marp Tutorial
Marp Tutorial
Ml system in_python
Ml system in_python
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Active Learning 入門
Active Learning 入門
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
研究効率化Tips Ver.2
研究効率化Tips Ver.2
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森
最適輸送入門
最適輸送入門
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
Ähnlich wie 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
Ähnlich wie 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. プログラミング入門
Mehr von 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
Mehr von 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が発生する!
Jetzt herunterladen