Foreman wird sofort beendet

8

Ich habe kürzlich OSX und Ubuntu auf verschiedenen Computern installiert. Ich habe dann versucht, Redis und Foreman für beide Betriebssysteme zu installieren. Beide Fehler warfen keine Flags und schienen erfolgreich ausgeführt zu werden. Wenn ich jedoch mit foreman start zum Vorarbeiter gehe, stoße ich auf beiden Computern auf das folgende Problem:

%Vor%

Aus irgendeinem Grund scheint es ein Pfadproblem für mich zu sein, weil es so aussieht, als ob Redis oder Foreman die Dateien nicht finden können, die sie zur erfolgreichen Ausführung benötigen, aber ich bin mir nicht ganz sicher.

Unter OSX habe ich gem install foreman und Brew install Redis verwendet.

Unter Ubuntu habe ich folgendes benutzt:

Redis:

%Vor%

Vorarbeiter:

$ gem install foreman

Mein PATH unter OSX ist wie folgt:

  

/Users/c/.rvm/gems/ruby-2.1.0/bin:/Users/c/.rvm/gems/ruby-2.1.0@global/bin:/Users/c/.rvm/rubies /ruby-2.1.0/bin:/Users/c/.rvm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

Unter Ubuntu ist mein Pfad:

  

/usr/local/bin:/usr/lib/postgresql:/usr/lib/postgresql/9.3:/usr/lib/ postgresql / 9.3 / lib: /usr/lib/postgresql/9.3/bin: / usr /share/doc:/usr/share/doc/postgresql-9.3:/usr/share/postgresql:/usr/share/postgresql/9.3:/usr/share/postgresql/9.3/man:$PATH

Redis-Server scheint einmal erfolgreich ausgeführt zu werden und schlägt dann mit der folgenden Meldung fehl:

%Vor%

Versuch $ redis-server stop gibt zurück:

[1504] 12 Jun 00:05:56.173 # Fatal error, can't open config file 'stop'

Ich brauche Hilfe, um herauszufinden, wie Foreman und Redis zusammenarbeiten, damit ich meine lokalen Dateien im Browser unter 127.0.0.1 ansehen kann.

BEARBEITEN

Redis startet, aber nichts passiert, wenn ich zu localhost: 6379 navigiere. Ich habe auch versucht, Prozesse zu finden. Es wurde gefunden

%Vor%

Wenn Sie kill versuchen, führt der Prozess zu

  

kill: Verwendung: kill [-s sigspec | -n signum | -sigspec] pid | Jobspez   ... oder kill -l [sigspec]

    
user3172050 12.06.2014, 06:08
quelle

3 Antworten

16

Starten Sie Redis Server mit dem folgenden Befehl:

%Vor%

Überprüfen Sie außerdem, ob bereits eine Instanz des Redis-Servers von

ausgeführt wird %Vor%

und dann, wenn der Prozess gefunden wird:

%Vor%

Starten Sie Ihren Redis-Server neu.

    
Chhavi Gangwal 12.06.2014 09:34
quelle
1

Dieser eine Liner wird alle vorhandenen Redis-Server beenden und dann einen neuen Redis-Server starten. Wenn es in Foreman ausgeführt wird, wird kein SIGTERM gesendet, wodurch Foreman beendet wird. Durch Senden eines SIGINTs kann Foreman fortgesetzt werden.

(ps aux | grep 6379 | grep redis | awk '{ print }' | xargs kill -s SIGINT) && redis-server

In Procfile.dev:

redis: (ps aux | grep 6379 | grep redis | awk '{ print }' | xargs kill -s SIGINT) && redis-server

    
Nick MacAvoy 21.11.2016 21:09
quelle
0
  1. Listen Sie den Redis-Server auf, der mit dem Terminal ausgeführt wird Befehl: ps aux | grep redis
  2. Geben Sie in der Liste die 'pid'-Nummer des Servers ein, den Sie beenden möchten Beispiel pid: 5379
  3. Verwenden Sie den Befehl: kill 5379
Ganesh Arulanantham 14.02.2015 04:59
quelle