タグ

UNIXとRubyに関するclavierのブックマーク (10)

  • Naruhounix

    オープンソースカンファレンスHokkaido2015 jus研究会札幌大会「なるほどUnixプロセス – RubyでUnixの基礎を学ぼう」の発表資料です。 https://www.ospn.jp/osc2015-do/modules/eguide/event.php?eid=11 動画: …

    Naruhounix
    clavier
    clavier 2015/06/14
    Naruhounix // Speaker Deck
  • なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 / Jesse Storimer - スペクトラム

    #naruhounix を読んだ。 正直「プロセス?あれでしょ、なんか動くやつ。」というレベルだったので非常に勉強になった。 Rubyで書かれているのも、余計なこと(Cの文法とか例外処理とか)がついてこなくて理解しやすい。 書き方はいいからイメージが知りたいんや!というタイプの方におすすめ。 逆にRubyの余計なこと(このバージョンでは修正済みとか)がついてくるのでRubyist寄りであることはいなめない。 プロセスをforkしてもリソースは同じみたいなところはポインタ的な解釈。 あとfork後ちょっとでもメモリの内容が変わったら全コピーだと思ってたけど全然違ってオブジェクト単位?(このへんあやふや)というか当に変わった部分だけコピーされるみたいだ。 例えばRailsアプリとかは立ち上がる際に大量のフレームワークのコードとアプリケーションのコードを読み込んでいるので数秒とかかかる。 しか

    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 / Jesse Storimer - スペクトラム
  • なるほどUnixプロセス - Rubyで学ぶUnixの基礎を読んだ - razokulover publog

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

    なるほどUnixプロセス - Rubyで学ぶUnixの基礎を読んだ - razokulover publog
  • Rubyのシグナルハンドラ - tmtms のメモ

    toRuby & guRuby 出張版 でシグナルについてやってたので、関連して書いてみます。 どのような時にシグナルハンドラを定義するのか どのような時にシグナルハンドラを定義するのかという話がありました。 UNIXのデーモンプログラムは、何が由来なのかわかりませんが、SIGHUP で設定ファイルの再読み込みを行うのが慣習になっています。 SIGHUP はデフォルト動作ではプログラムを終了させてしまうだけなので、SIGHUP で特別な処理を行いたいプログラムはシグナルハンドラを定義しています。 来 SIGHUP は端末が終了した時に端末上で動いていたプログラムに対してOSが発行するためのものです。 たとえば、端末エミュレータを開いて、 % sleep 9999 と実行してる状態で端末エミュレータを閉じると sleep プロセスに SIGHUP が送られます。別の端末から strace

    Rubyのシグナルハンドラ - tmtms のメモ
  • なるほどUnixプロセス Rubyで学ぶUnixの基礎 を読んだ - ravelll の日記

    新人エンジニアとの読書会でシグナルの話が出た時に色々知識が曖昧なことに気づいたので読んだ。(Spyglass についてはまだ触っていない) 社内の別の読書会にこれの原著を読むものがあったんだけど、 当時 Ruby や UNIX について知識がなさ過ぎたり英語読むのに少しつらみがあったり そもそも途中から参加していなかった。覚えていたのはゾンビプロセスの語感と内容が重要そうだったってことくらい。 今回は英語学習より内容の速習を求めたので、翻訳版を読むことにした。 以下は読書感想文です。 プロセス、カーネル、システムコール このはプロセスとそれを取り巻く技術についてそれぞれかなり基礎的なことから書かれており、UNIX について然程知識がなくとも問題なく理解し読み進められる。 自身ではプロセスは親子関係やPIDについて知っている程度で、5章のファイルディスクリプタや 10章の終了コード、11章

    なるほどUnixプロセス Rubyで学ぶUnixの基礎 を読んだ - ravelll の日記
  • Ruby 勉強会 第42回 発表資料 IO について

    presentation for kansai-ruby-workshop #42 This presentation illustrates: IO#read length, buffer IO#readpartial IO#readnonblock

    Ruby 勉強会 第42回 発表資料 IO について
  • Rubyでシェルもどきを作る - tmtms のメモ

    Ruby でシェルのようなものを作ってみると、Ruby とシェルやシステムコールの理解ができて、研修の課題とかにいいんじゃないかと10年くらい前に思ってたのを、ふと思い出したので書いてみます。 基 シェルの動作を簡単に説明すると次のような感じです。 プロンプトを出力 標準入力からコマンドラインを読み込む 読み込んだコマンドを実行する コマンドの終了を待つ 1 に戻る これをそのまま Ruby で書いてみます。 while true print '-> ' # プロンプト表示 cmd = gets or break # コマンド入力 cmd.chomp! # 末尾の改行削除 pid = Process.fork do # 子プロセス生成 Process.exec [cmd, cmd] # コマンド実行 end Process.waitall # 子プロセスの終了待ち end Process

    Rubyでシェルもどきを作る - tmtms のメモ
  • cron実行時のenv: ruby: No such file or directoryを解決してみた – morizotter blog

    cron実行時のenv: ruby: No such file or directoryを解決してみた投稿者: Naoki 投稿日: 2013-03-25 #!/usr/bin/env rubyと実行ファイルにあると、普段はRubyがちゃんと実行されるのにcronだと実行されないので調べた。 /usr/bin/env はユーザーの環境設定を見てrubyの場所を探してくれるっぽい。なので、もう簡単に言うとcronの実行時のシェルスクリプトにsource /home/<ユーザー名>/.bash_profileって書いちゃえば解決してしまった。 ただ、これはやり方としてなんか綺麗なじゃない気がする。他の方法も調べよう。

    cron実行時のenv: ruby: No such file or directoryを解決してみた – morizotter blog
  • Working with UNIX Processes を読んだ - @kyanny's blog

    Working With Unix Processes というを読んだ。 Thin の作者からの「時期バージョンを作るとき参考にする」というメッセージ*1が添えられていたのに惹かれて買った。著者のサイトで直販しているが、 Kindle Store からも購入できる。 このは一言でいうと、 UNIX 系 OS のプロセスについてのだ。プロセスとは何か、という導入部から始まって、プロセス ID やプロセス名、終了コードへと言及し、 fork(2) やソンビプロセス、シグナル、そしてデーモンプロセスの説明あたりまで編中で説明している。 UNIX プログラミングに関する類書は 1000 ページを超えるものが多いなかで、このはわずか 100 ページほどしかなく容易く読める*2。しかしページ数が少ないぶん、あまり踏み込んだ内容とは言えず、全体的にやや浅い印象を受けた。すでに UNIX, Li

  • 使ってないポートを取得する - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    使ってないポートを取得する - Qiita
  • 1