Category script.

なんか cygwin ruby 1.8.2 の net/protocol.rb がたまに Segmentation fault で落ちる。とりあえず落ちてもすぐ復帰するようにして放置。知らん。

loop do
# Make running process
pid = Process.fork do
# IRC BOT 起動
end
# I am monitoring process.
pid, status = Process.waitpid2(pid)
p status
end

プロセス死んでもとにかく復帰。復帰。復帰。ぐるぐる。

結構頻度が高い。socket 関連でダメだと思うんだけど、どうすればいいんだろ。

2005-01-27 01:45:23 #<Process::Status: pid=12296,signaled(SIGABRT=6)>
2005-01-27 02:19:07 #<Process::Status: pid=15652,signaled(SIGABRT=6)>
2005-01-27 17:32:52 #<Process::Status: pid=13756,signaled(SIGABRT=6)>
2005-01-27 23:23:39 #<Process::Status: pid=19748,signaled(SIGSEGV=11)>

SIGABRT のやつは net/protocol.rb の rbuf_fill メソッド @socket.sysread(1024) でエラー。SIGSEGV は timeout.rb。発生元はたぶん同じメソッド。

  1. トップ
  2. prog
  3. Segmentation fault
  1. トップ
  2. script
  3. Segmentation fault
  1. トップ
  2. ruby
  3. Segmentation fault

lastfm.rb 超微妙

ただの HTTP アクセスに過ぎない簡単さにも関わらず割とおもろいので、てけとーにコンソールから操作できるようにした。require できるようにアレしてアレしたけど、糞実装なのでなんとも……これからいろいろ考えよう。

単体で起動した場合は --user, --pass が必須。あとつかえるオプションは --help。 OptionParser の練習もしたかったから丁度良かった。入力待ちになったら help すれば使えるコマンドが出るはず。知らない。

勢いで RAA に登録した。lastfm

  1. トップ
  2. web
  3. LastFM Web Service
  1. トップ
  2. script
  3. LastFM Web Service
  1. トップ
  2. ruby
  3. LastFM Web Service

YAML を使うことにした。当初 XML を使うつもりだったけどマップするのがめんどいので保留。obj.to_yaml だけなのは簡単でいい。あんまり文法は好きじゃないんだけど……

  1. トップ
  2. ruby
  3. chokan の設定
  1. トップ
  2. prog
  3. chokan の設定
  1. トップ
  2. script
  3. chokan の設定