2011-07-27 12 views
1

Rubyからブラウザを閉じる方法を知りました。私は現在、開ける方法を知っています:Rubyで閉じるアプリケーション

system('firefox http://www.google.com') 

同じブラウザウィンドウを閉じるにはどうしたらいいですか?

+0

なぜあなたはそれをしたいですか? – SLaks

+0

私はあなたが何を意味するか分からない。私はその質問がまっすぐであると思った。 –

+0

質問は簡単ですが、悪い考えのように聞こえます。あなたがブラウザを閉じると、ユーザーはそれを気に入らないでしょう。 – SLaks

答えて

1

あなたはProcess.spawnを探しています。

pid = Process.spawn("firefox http://www.google.com") 
Process.kill('QUIT', pid) 
+0

これは開いているすべてのFirefoxウィンドウを強制終了します。 – SLaks

+1

Process.spawnはRuby1.9上にだけ存在するだけでなく、必ずしもポスターが必要とするものではありません。既存のセッションでウィンドウを開くためにfirefoxを起動すると(つまり、すでにfirefoxプロセスがある場合)、起動するプロセスはほとんど瞬時に消えてしまいます。したがって、あなたが持っているpidは無駄です。ここのProcess.kill()呼び出しはErrno :: ESRCHで失敗します。 – regularfry

1

あなただけでブラウザを開いて、それを塞ぐことにより、「ピング」http://www.google.comしようとしているようです。使い方はこのようなものになるだろう。

これを行うためのより簡単で簡単な方法があります。最も簡単なあなたの場合の1(あなたがすでに設定コマンドラインを持っているので)カールまたはwgetのを使用することになります。

system('wget http://www.google.com') 

これます「ピング」のウェブサイト、および単に出力を捨てます。 Firefoxのインスタンスを作成するよりもはるかに高速になります。

関連する問題