katsuhiro/refmon/signal
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[katsuhiro]] -> [[katsuhiro/refmon]] -> katsuhiro/refmon...
*シグナル周りのエミュレーション [#n6bd6c19]
最低でも sigaction でシグナルハンドラが指定されたかどうか...
**シグナルのエミュレーションがないと起こる問題 [#xa8c5dd7]
-シェルのサスペンド、レジューム機能が使えない。
-他にも微妙におかしくなるものがある。
**実装でつまづいた点 [#a3635019]
-問題: SIGALRM が飛んだあと、Ctrl+Z でサスペンドすると、...
--原因: wait で SIGCONT(18) がきたら RUNNING 状態に移るよ...
--解決: sys_kill をフックして、SIGKILL や SIGCONT が来て...
**実装 [#r0fbc3d7]
-sys_kill
--SIGKILL あるいは SIGCONT が来たときはプロセスを RUNNING...
-sys_sigaction, sys_rt_sigaction
--ハンドラをプロセス情報クラスに記録している。一応 SA_RES...
-sys_signal
--System V のシグナルハンドラ登録用の関数である。Linux で...
**メモ [#ce0f347d]
***シグナルを受け取る順番 [#gb7fb3ad]
リアルタイムシグナルを除くと、シグナルは若い番号から受け...
***sigaction と sigprocmask [#q361606e]
自分自身良くわかってなかったのでメモしておく。
sigprocmask でマスクしたときは、そもそもシグナルがカーネ...
sigaction で無視にしたときはカーネルからプロセスに送信さ...
clone のシグナルハンドラのテーブルを共有する処理をエミュ...
**シグナルで割り込まれたシステムコールの問題 [#d68ac150]
-システムコールが ERESTARTSYS で帰ってきたら、シグナルハ...
**謎の現象 [#b03a7bdf]
監視しているプロセスに kill で以下のシグナルを送ると、リ...
-SIGTSTP 端末 (tty) より入力された一旦停止 (stop)
-SIGTTIN バックグランドプロセスの tty 入力
-SIGTTOU バックグランドプロセスの tty 出力
デフォルトの動作が Stop のシグナルがあやしいのかと思った...
-SIGSTOP プロセスの一旦停止 (stop)
終了行:
[[katsuhiro]] -> [[katsuhiro/refmon]] -> katsuhiro/refmon...
*シグナル周りのエミュレーション [#n6bd6c19]
最低でも sigaction でシグナルハンドラが指定されたかどうか...
**シグナルのエミュレーションがないと起こる問題 [#xa8c5dd7]
-シェルのサスペンド、レジューム機能が使えない。
-他にも微妙におかしくなるものがある。
**実装でつまづいた点 [#a3635019]
-問題: SIGALRM が飛んだあと、Ctrl+Z でサスペンドすると、...
--原因: wait で SIGCONT(18) がきたら RUNNING 状態に移るよ...
--解決: sys_kill をフックして、SIGKILL や SIGCONT が来て...
**実装 [#r0fbc3d7]
-sys_kill
--SIGKILL あるいは SIGCONT が来たときはプロセスを RUNNING...
-sys_sigaction, sys_rt_sigaction
--ハンドラをプロセス情報クラスに記録している。一応 SA_RES...
-sys_signal
--System V のシグナルハンドラ登録用の関数である。Linux で...
**メモ [#ce0f347d]
***シグナルを受け取る順番 [#gb7fb3ad]
リアルタイムシグナルを除くと、シグナルは若い番号から受け...
***sigaction と sigprocmask [#q361606e]
自分自身良くわかってなかったのでメモしておく。
sigprocmask でマスクしたときは、そもそもシグナルがカーネ...
sigaction で無視にしたときはカーネルからプロセスに送信さ...
clone のシグナルハンドラのテーブルを共有する処理をエミュ...
**シグナルで割り込まれたシステムコールの問題 [#d68ac150]
-システムコールが ERESTARTSYS で帰ってきたら、シグナルハ...
**謎の現象 [#b03a7bdf]
監視しているプロセスに kill で以下のシグナルを送ると、リ...
-SIGTSTP 端末 (tty) より入力された一旦停止 (stop)
-SIGTTIN バックグランドプロセスの tty 入力
-SIGTTOU バックグランドプロセスの tty 出力
デフォルトの動作が Stop のシグナルがあやしいのかと思った...
-SIGSTOP プロセスの一旦停止 (stop)
ページ名: