1

少し前に、github でアプリケーションのクローンを作成し、ローカルで実行して確認しました。それはラック上で動作する ruby​​ アプリケーションでした。表示に使用したポートは localhost:9292 でした。

今日に早送りします。私が書いた非常に単純なラックアプリケーションを実行しようとしています。基本的にラックを勉強するためのワンライナー。localhost:9292 にアクセスすると、以前にダウンロードした古いアプリケーションがブラウザに表示されます。なぜこれが起こっているのかわかりません。アプリは必要ないので、すべてを閉じて、古いアプリケーションをコンピューターから削除しました。次に、「localhost:9292」をもう一度試してみましたが、奇妙なことに、同じアプリケーションが表示されました。

ラックなど何も実行していなくても、localhost:9292 にアクセスすると、ゴースト アプリケーションが表示されます。キャッシュをクリアしてラックを強制終了したり、Firefox を再起動したりしてみました。これは Firefox でのみ発生します。別のブラウザーを使用した場合にのみ、localhost:9292 で適切な応答が得られます。したがって、これはFirefoxが何らかの形でそのポートを他のアプリケーションに結び付けていることに関係していると思います。

私の質問は、このアプリケーションを Firefox から削除するにはどうすればよいですか? そして、私が実行した後、Firefoxがポートを1つのアプリケーションに(文字通り数か月間)結び付けるメカニズムは何ですか。別のブラウザを使い続けることができると思うので、これがラックから発生しているとは思いませんが、これを引き起こしている原因を知りたいだけです. 私はこれを何時間も探し回っていますが、何も見つかりません。

4

1 に答える 1

2

ラックは、制御端末がなくなった後も残り続けるのが好きなのだろう。

ps auxww |grep ruby

次のような出力が得られます。

mslade    9159  0.0  1.0 131964 41436 pts/12   Sl+  Apr17   0:38 /usr/bin/ruby1.9.1 script/rails server -p 3001
mslade   19127  0.0  0.0  10776  1008 pts/11   S+   12:30   0:00 grep ruby

一番上の行は古いサーバーです。その PID (その行の左側の数字) を に渡して kill しますkill:

9159を殺す

また

殺す -9 9159

これでうまくいくはずです。

それができない場合は、マシンを再起動するだけで、再起動するとプログラムは消えます。

于 2012-04-18T02:32:46.127 に答える