タグ

Signalに関するshigiryouのブックマーク (7)

  • The Linux Kernel: プロセス間通信の仕組み

    次のページ 前のページ 目次へ 6. プロセス間通信の仕組み プロセスは、他のプロセスやカーネルと相互に通信することで、自らの作業の調整 を図っている。Linux では、いくつかのプロセス間通信(Inter-Process Communication, IPC)のメカニズムがサポートされている。シグナルとパイプは その典型であるが、Linux は System V IPC メカニズムもサポートしている。System V IPC という名称は、Unix の当該リリースで初めて登場したことからその名が付けられ ている。 6.1 シグナル シグナルは、Unix システムで使用される最も古いプロセス間通信の方法である。 シグナルは、ひとつ以上のプロセスに対して非同期イベント(asynchronous events)を 伝達するために使用される。シグナルが生成されるのは、キーボード割り込みがあっ た

  • signalのメモ - 目の前に僕らの道がある

    signalとは外部のプロセスに対して通信するためのメッセージです。プロセスに定義されているシグナルハンドラがsignalを補足して定義に応じた処理を行います。 killコマンドを使って行うことが多いですかね。 signalの種類 man pageを引いてみるとPOSIX.1-1990で定義されているsignalは以下の通りのようです。 % LANG=C man 7 signal Signal Value Action Comment ---------------------------------------------------------------------- SIGHUP 1 Term Hangup detected on controlling terminal or death of controlling process SIGINT 2 Term Interrupt

    signalのメモ - 目の前に僕らの道がある
  • Linux シグナルの基本と仕組み (カーネル v5.5 時点) - Qiita

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

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

  • How to use SIGALRM and alarm function in C language?

  • 「シグナル」を送ってみよう

    前回は、シグナルについて、シェルでのキー操作を通じて確認しました。今回は、killコマンド/killallコマンドを使って、動作中のプロセスにシグナルを送ってみましょう。 連載目次 シグナルとkill/killallコマンドの関係 何らかの理由で終了させることができなくなった「プロセス」は、「kill」コマンドや「killall」コマンドで終了させることができます。また、killallコマンドは、キー入力などを受け付けないサーバプロセスを終了させたり、再起動させたりする際にも使用します。 killコマンド/killallコマンドは、動作中のプロセスに対して「シグナル」を送信するコマンドです。プロセスの終了には「TERMシグナル(SIGTREM)」や「KILLシグナル(SIGKILL)」を、サーバプロセスの終了/再起動には「HUPシグナル(SIGHUP)」を送信します。 なお、killコマン

    「シグナル」を送ってみよう
  • Linux シグナルの基礎

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

    Linux シグナルの基礎
  • 1