13

私は次のものを持っていますProcfile

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
redis: bundle exec redis-server /usr/local/etc/redis.conf
worker: bundle exec sidekiq

実行$ foreman startすると Unicorn、Redis、Sidekiq が起動しますが、これらを再度停止するにはどうすればよいですか?

フォアマンを殺すと、3つすべてが残ります。私はこれを使用して見ることができますps

$ ps aux | grep redis | grep -v grep
    me           61560   0.0  0.0  2506784   1740 s000  S+    9:36am   0:01.28 redis-server /usr/local/etc/redis.conf
$ ps aux | grep sidekiq  | grep -v grep
    me           61561   0.0  1.0  2683796 173284 s000  S+    9:36am   0:14.18 sidekiq 2.17.0 pathways [0 of 25 busy]
$ ps aux | grep unicorn | grep -v grep
    me           61616   0.0  0.2  2615284  28312 s000  S+    9:37am   0:00.06 unicorn worker[2] -p 5000 -c ./config/unicorn.rb
    me           61615   0.0  0.2  2615284  27920 s000  S+    9:37am   0:00.06 unicorn worker[1] -p 5000 -c ./config/unicorn.rb
    me           61614   0.0  0.2  2615284  27772 s000  S+    9:37am   0:00.06 unicorn worker[0] -p 5000 -c ./config/unicorn.rb
    me           61559   0.0  1.0  2615284 160988 s000  S+    9:36am   0:09.87 unicorn master -p 5000 -c ./config/unicorn.rb

明らかにkill、各プロセスを手動で実行できますが、一度にすべてを強制終了するにはどうすればよいですか? フォアマンがこれをサポートしているようには見えません。

4

3 に答える 3

11

ワンライナーでそれらをすべて殺すには:

$ kill $(ps aux | grep -E 'redis|sidekiq|unicorn' | grep -v grep | awk '{print $2}')
于 2013-11-25T11:14:09.413 に答える
4

または、これを行うことができます

$ killall "foreman: master"
于 2015-06-03T08:38:49.087 に答える