タグ

rubyとLinuxに関するhohoho_ho2005のブックマーク (6)

  • パイプとソケットでのプロセス間通信を Ruby で再確認した - えいのうにっき

    前回までの続き。 Unixプロセスとリソースの基礎を再確認した - えいのうにっき プロセスとの情報のやりとりについて再確認した - えいのうにっき プロセスの適切な扱い方を再確認した - えいのうにっき Unixプロセスとシグナルの基礎をRubyで再確認した - えいのうにっき 今回は、「パイプ」と「ソケット」を使った複数のプロセス間で情報をやりとりする方法について。「プロセス間通信」(IPC : Inter Process Communication)と呼ばれる分野の話。 パイプを用いたプロセス間での情報のやりとり 「ストリーム」と「メッセージ」、そして「ソケット」 読んでいるのは なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 - 達人出版会 。 tatsu-zine.com パイプを用いたプロセス間での情報のやりとり プロセス間での情報のやりとりを行うための方法のひとつ

    パイプとソケットでのプロセス間通信を Ruby で再確認した - えいのうにっき
  • Unixプロセスとシグナルの基礎をRubyで再確認した - えいのうにっき

    前回までの続き。なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 - 達人出版会をまだ読んでいる。遅読。 Unixプロセスとリソースの基礎を再確認した - えいのうにっき プロセスとの情報のやりとりについて再確認した - えいのうにっき プロセスの適切な扱い方を再確認した - えいのうにっき 今回は、Unixプロセスとシグナルの基礎について再確認していく。 Unixシグナル・事始め Unixシグナルの「いろは」 シグナルを再定義する シグナルハンドリングの注意点 Unixシグナル・事始め 前回、子プロセスの終了を待ち受けるのに用いた Process.wait は、実行するとそこで自身(親プロセス)の処理を止めて子プロセスの終了を待った。これは ブロッキング呼び出し と呼ばれる。 では「親は親で何か別の仕事をしたいとき」はどうするかというと、これから見ていくシグナルを上手に使うと実

    Unixプロセスとシグナルの基礎をRubyで再確認した - えいのうにっき
  • sysinfo(2)でシステム情報の取得 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    この記事はLinux Advent Calendar 2014の2日目の記事です。 プログラムの中でロードアベレージとかメモリの空き容量を見るのにどうしようかなーと思っていて見つけたのがsysinfo(2)です。 使い方は至って単純でsysinfo構造体のアドレスをsysinfo(2)に渡せば情報が入ってくるのであとはご自由にという感じでいけます。 cだとこんな感じです。SI_LOAD_SHIFTは/usr/include/linux/sysinfo.hにて定義されています。 #include <stdio.h> #include <sys/sysinfo.h> #define LOAD_AVERAGE(x) x / (double)(1 << SI_LOAD_SHIFT) int main(int argc, char **argv) { struct sysinfo info = {

    sysinfo(2)でシステム情報の取得 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • なるほどUnixプロセス - Rubyで学ぶUnixの基礎を読んだ - razokulover publog

    先日ISUCONが行われていた。 ボクは出場してなくて、Twitterから観戦しているだけだったんだけどisuconタグを眺めていると以下のスライドが流れてきた。 今回2位だったpixivチームのkatatsuyさんがisucon前に作っていた神資料らしい。 読んでみたが、なるほど、広告サーバーの構築時の苦労や知見が素晴らしくまとまっている。 で、スライドの最後のほうにおすすめの書籍が記されててそこに『なるほどUnixプロセス - Rubyで学ぶUnixの基礎』があったので購入して読んでみた。 親プロセス、子プロセス、fork、ファイルディスクリプタ、ゾンビプロセス、デーモンプロセス、プロセスグループ、セッショングループ、シグナル、ストリーム、パイプ、IPC、ソケット、コピーオンライト これらの用語の中で説明できない言葉があるRubyエンジニアはこのを読むと良い。 どれもUnixプログラ

    なるほどUnixプロセス - Rubyで学ぶUnixの基礎を読んだ - razokulover publog
  • PNGの最適化ツールを探して - jarp,

    ■ 久し振りのGWの谷間出勤 諸般の事情により出勤しているんだけど、電車の一旦ドア閉め乗車がなかったり、 夕の社がなかったりといろいろと新鮮だ。 ■ Ruby 1.4の頃の-eの実装とirb 昨日までのirbはこんな感じになっていた(すでに変更された)。 require "irb" if __FILE__ == $0 IRB.start(__FILE__) else # check -e option if /^-e$/ =~ $0 IRB.start(__FILE__) else IRB.setup(__FILE__) end end この-eオプションのチェックはなんか意味不明なことになってるが、 元々Ruby 1.4の時代はsample/irb.rbでこうなっていた。 require "irb/main" if __FILE__ == $0 IRB.start(__FILE__)

  • 資料室

    お問い合わせや質問もお受けしております。osk-esc@oki.comまでお願いします。 *注意: これらのプログラムは「現状のまま」提供し、いかなる保証も行わなず、一切の責任を負いません。 ソースとともに配布しているバイナリコードはウィルスチェックをしていますが、 何も保証していません。 ご使用は各自の責任で行ってください。

  • 1