2010-12-02 4 views
2

Wie stoppe ich hg serve in OS X (Server 10.6)?stop hg serve auf os x

Ich startete es vom Terminal nicht im Daemon-Modus. Es hat gut funktioniert, dann wollte ich ein paar Änderungen vornehmen, also habe ich ctrl-Z gemacht, um es zu stoppen. Als ich versuchte, es wieder zu starten, heißt es ...

abort: cannot start server at ':8000': Address already in use 

I der Prozess übernehmen bereits läuft und lassen nicht auf den Hafen gehen. Aber im Aktivitätsmonitor kann ich keine Prozesse finden und "bedienen" oder "hg" oder "mercurial" töten.

Hilfe?

Antwort

7

bauen Sie die Prozess-ID, um herauszufinden:

hgt $ ps -eaf | grep hg 
    502 91004 90841 0 0:00.04 ttys007 0:00.11 /opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python /opt/local/bin/hg serve 
    502 91032 90841 0 0:00.00 ttys007 0:00.00 grep hg 

Tötet den Prozess

kill -9 91004 

Das nächste Mal verwenden Strg-C, um den Server zu stoppen. :)

+0

@nedlud: Haben Sie es versucht? – pyfunc

+0

Danke pyfunc. Es war perfekt. Zwei Lektionen, die hier gelernt wurden: A) benutze nicht Strg-z und B) benutze ps. – nedlud

+0

Es ist wahrscheinlich am besten, "kill " anstatt "kill -9 " zu verwenden (da kill -9 (SIGKILL) dem Prozess nicht die Möglichkeit gibt, das Kill-Signal abzufangen (und den Prozess ordnungsgemäß herunterfahren zu lassen). .. meine $ 0,02 Wert :-) – mlo55

2

Ctrl-Z stoppt einen Prozess vorübergehend. Wenn Sie etwas mit Ctrl-Z stoppen, können Sie es erneut starten, indem Sie fg ausführen, damit es das Terminal erneut übernimmt, oder bg, damit es im Hintergrund des Terminals ausgeführt wird. Andernfalls können Sie den Server mit der Antwort von pyfunc beenden. Sie können feststellen, ob der Server noch funktioniert, indem Sie in Ihrem Browser natürlich localhost:8000 öffnen.

1

prüfen für den Port der Regel 8000 für hg Server

sudo lsof -i -n -P | grep LISTEN | grep 8000

Überprüfen Sie die PID für hg Suche nach hg und dann Python

ps -aef | grep hg | grep python | awk '{print $ 2}'

nun die PID Sie

sudo kill -9 ` ps -aef gefunden töten | grep hg | grep python | awk '{print $ 2}' `