10分以上英語の勉強がしたくなかったので

プレイリスト内のファイルを適当に再生し、一定の時間経過したらファイルの再生を止めさせたいと思った。

1183212131*最初に使ったもの

ruby -e 'str = %x{ps -A | grep xmms}; str.grep(/(\d+)/); `kill #{$+}`'

(xmmsは音楽再生ソフト)
バッククォートと%x{}がごちゃごちゃに使われているのは、いろんな方法を試すため。

1183212132*便利そうだったのでスクリプトにした。

#!/usr/bin/ruby
puts "need parametor" if ARGV.empty? #引数が空でないか調べる

process, time = ARGV
puts "count start (process is #{process})"
sleep(time.to_i) #〜秒スリープ
str = `ps -A | grep #{process}`
p str
str = str.scan(/\d+/).shift
`kill #{str}`

scanを使ってみたかったので、ちょっと内容も変更。