タグ

linuxとsignalに関するsomathorのブックマーク (6)

  • Linux シグナルの基本と仕組み (カーネル v5.5 時点) - Qiita

    この記事は、Linux シグナルの基と仕組み (カーネルでの実装) について調査したことのまとめです。 シグナルは普段から利用しているものの仕組みについては理解してなかったので、カーネル勉強の題材として調べてみました。想像以上に複雑でボリュームがあったため、書き切れていない部分 (調査しきれなかった部分) もありますが、一通りの流れ (仕組み) は理解できたと思います。 なお、この記事は主に「■ 基編」と「■ カーネル編 (v5.5)」で構成されています。仕組みを理解するには基も知る必要があると思い、このような構成となっています。書籍レベルの基を理解されている方は 「■ カーネル編 (v5.5)」 から読み進めることを推奨します。 ■ 基編 はじめにシグナルの基について、ざっと整理します。 なお、例で登場するコマンドや API (C 言語) の細かい使い方やエラー処理などは省き

    Linux シグナルの基本と仕組み (カーネル v5.5 時点) - Qiita
  • シグナルハンドラにprintf()を書いてはいけない - Qiita

    三行でまとめると シグナルハンドラ内でprintf()してはいけない というより、余計な処理を書いてはいけない もう一度言う、シグナルハンドラで余計なことをするな、非常に大事なことだ はじめに シグナルハンドラでやってよい処理は非常に限られるのに、全くルールを守らないサンプルコードが世の中に大量に出回っている。printf()するなんてもってのほかなのだが、カジュアルにそこらじゅうで見かけて非常に悲しい。 この記事では、そんな状況を少しでも改善したいと思い初心者向きに書いたものだ。そのため、下記では、回避するにはどう実装すればよいのか、ルールを破るとどうなるのか、といった点を先に簡潔に記述する。 なぜしてはいけないのか、POSIXだとかリエントラントだとか、は下の方に追いやっている。玄人は読んでてウズウズするだろうが、細かい話はできるだけ目につかないような構成としたため了解いただきたい。

    シグナルハンドラにprintf()を書いてはいけない - Qiita
  • 技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他) - Glamenv-Septzen.net

    ホーム 検索 - ログイン | |  ヘルプ 技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他) [ Prev ] [ Next ] [ 技術 ] 何をいまさら当たり前の事を・・・と思われるだろう。 $ nohup long_run_batch.sh & SSHからログアウト後も実行を続けたいバッチジョブを、"&"を付けてバックグラウンドジョブとしてnohupから起動するのは定番中の定番である。 しかし、「nohupを使わなくても実行を続けることが出来る」やり方があったり、さらには「nohupを付けてもログアウト時に終了してしまう」パターンがあるとしたらどうだろう? そして、ある日あなたの後輩や同僚がこれらについてあなたに質問してきたら、あなたはどう答えるだろうか? 「Web上で検索したら見つか

  • Linux シグナルの基礎

    TLPI (The Linux Programming Interface) 再々。 TLPI の輪読の際に @matsumotory よりシグナルセットあたりをまとめるようにと指令が出たので、拙遅な感じでまとめました。 シグナルとは プロセス間通信の一種。「プロセスにシグナルを送信すると、そのプロセスの正常処理に割り込んで、シグナル固有の処理(シグナルハンドラ) が実行される」プロセス側では、シグナルを受信した際の動作(シグナルハンドラ) を設定することや、シグナルをブロックすることも可能。 コンソールで、プロセスを終了させるためにkill -9 <PID>とかCtrl+Cとかした際にも、対象プロセスにシグナルが送信されている。 ちなみに、PID「1」の initsystemd にkill -9 1しても何も起らない。(そういえば昔、oom-killer に init を殺された覚

    Linux シグナルの基礎
  • シグナルの使い方と実装について - へにゃぺんて@日々勉強のまとめ

    今回は、Linuxのシグナルについて、自分なりにちゃんと調べてみましたので、 記事にまとめてみます。 ほとんどUNIXシグナルと変わらない話だとは思いますが、ソースコードは Linuxのものを参照しているので、Linuxに限った話も混じっているかと思いま す。 そもそも「シグナル」とは? 辞書を引いてみると、"signal"は signal 【他動】 〜に信号を送る、合図する、〜を信号で伝える 〜の前兆となる、〜を示す、示唆する、知らしめる文例 【名】 〔メッセージを伝えるための〕合図、信号、信号機 〔合図で伝える〕メッセージ、意図、警告 〔行動を起こす〕きっかけ、引き金 《電気》信号 【形】 信号の(働きをする) 際立った、目立つ、顕著な、目覚ましい、注目に値するとのことです。 signalの意味・用例|英辞郎 on the WEB:アルク http://eow.alc.co.jp/se

    シグナルの使い方と実装について - へにゃぺんて@日々勉強のまとめ
  • Linuxのシグナルまとめ -- ぺけみさお

    Linuxのシグナルについて調べたのでまとめる。 最初にシグナルの一覧を示し、重要なものは抜粋して説明する。 参考: http://linuxjm.sourceforge.jp/html/LDP_man-pages/man7/signal.7.html シグナルの一覧killコマンドで送信できるシグナルの一覧は-lオプションで見ることができる。

  • 1