私はSinatraアプリケーションを開発しており、「rackup」を使用してWebrickを起動しています。それを止めるにはどうすればいいですか?Ctrl + Zを使用していますが、停止しているようです。ただし、もう一度起動しようとすると、ポートはすでにバインドされていると表示されます。
多くのポートで試してみましたが、起動するたびに停止し、再起動すると使用中であると表示されました。
どうすれば解決できますか?
Ctrl+Z
プロセスを終了/強制終了するのではなく、プロセスを「一時停止」します。
本当にそれを殺すには、プロセステーブルで見つけて実行しますkill -9 [PID]
お気に入り:
ps auxwww | grep ruby
slivu 16244 0.0 0.5 2551140 61220 s020 R+ 1:18AM 0:10.70 ruby app.rb
2 番目の列 (16244) は PID です。
INT
もう 1 つの方法は、Ruby でシグナルを「キャッチ」し、アプリを明示的に終了することです。
あなたのアプリで:
Signal.trap 'INT' do
Process.kill 9, Process.pid
end
slivu の返信を拡張すると、
CTRL+C
まだ同じ端末にいる場合は、プロセスを強制終了するために使用します。
バックグラウンドで起動している場合、または別の端末から強制終了したい場合は、
ps aux | grep [r]ackup | awk '{print $2}' | xargs sudo kill -9