launchd hört auf Port 4444

Der lsofBefehl sagt mir , dass launchder auf Port 4444 lauscht:

$ sudo lsof -i tcp:4444

COMMAND PID USER   FD   TYPE           DEVICE SIZE/OFF NODE NAME
launchd   1 root   32u  IPv4 0xfe4e7e9bb5c1a5      0t0  TCP localhost:krb524 (LISTEN)
launchd   1 root   46u  IPv4 0xfe4e7e9bb5c1a5      0t0  TCP localhost:krb524 (LISTEN)

Ich versuche, einen Selenium-Server ( https://www.seleniumhq.org/ ) einzurichten, dessen Standardport 4444 ist - mir ist klar, dass ich den Port von Selenium ändern könnte, aber ich kann mich nicht erinnern, diesen Konflikt früher auf Macs gehabt zu haben (I schätze vor Tiger)

Ist es möglich/machbar, launchdauf einem anderen Port ausgeführt zu werden?

BEARBEITEN: Ich habe die folgenden Informationen gefunden, indem ich gesucht habe, welche plistDateien sich auf Port 4444 beziehen - es zeigt, dass es Teil der ServerKonfiguration ist. Die Wiki-Funktion des Servers ist derzeit ausgeschaltet. Ist es sicher, diese Datei zu bearbeiten, um die Porteinstellung zu ändern?

/Applications/Server.app/Contents/ServerRoot/private/etc/apache2/webapps/com.apple.webapp.auth.plist:19: http://localhost:4444/auth /Applications/Server.app/Contents/ServerRoot /private/etc/apache2/webapps/com.apple.webapp.changepassword.plist:19: http://localhost:4444/changepassword /Applications/Server.app/Contents/ServerRoot/private/etc/apache2/webapps/com .apple.webapp.collabd.plist:24: http://localhost:4444/svc /Applications/Server.app/Contents/ServerRoot/private/etc/apache2/webapps/com.apple.webapp.collabd.plist:33 : http://localhost:4444/streams/activity /Applications/Server.app/Contents/ServerRoot/private/etc/apache2/webapps/com.apple.webapp.wiki.plist:24: http://localhost:4444 /Vorschau/Applications/Server.app/Contents/ServerRoot/private/etc/apache2/webapps/com.apple.webapp.wiki.plist:33: http://localhost:4444/files /Applications/Server.app/Contents/ServerRoot /private/etc/apache2/webapps/com.apple.webapp.wiki.plist:42: http://localhost:4444/upload_file /Applications/Server.app/Contents/ServerRoot/private/etc/apache2/webapps/com .apple.webapp.wiki.plist:51: http://localhost:4444/app-context/wiki

Ich habe meiner Antwort viele Details hinzugefügt - danke, dass Sie Ihrem Beitrag die zusätzlichen Details hinzugefügt haben -, die dazu beigetragen haben, die richtige plist aufzudecken, die Sie bearbeiten müssen, um Port 4444 in einen anderen Port zu ändern.

Antworten (2)

Ja. Das Ändern des Ports ist so einfach wie das Ausführen mit einer Befehlszeilenüberschreibung:

selenium-server -port 4455

Das obige würde versuchen, auf Port 4455 statt 4444 zu lauschen

Das Ändern von launchd ist ein wenig mehr Arbeit, da Sie die genaue Datei im Dateisystem finden müssen, auf der es die Anweisungen zum Abhören von 4444 erhalten hat.

Hier ist eine schöne Beschreibung einer solchen Möglichkeit, Selen für die Verwendung von Port 4444 zu konfigurieren

Sie müssten also die plist bearbeiten, die den Start steuert. Ich würde empfehlen, Homebrew zu verwenden, um dies zu installieren:

mac:dev me$ brew install selenium-server-standalone
==> Downloading https://selenium-release.storage.googleapis.com/3.11/selenium-server-standalone-3.11.0.jar
######################################################################## 100.0%
==> Caveats
To have launchd start selenium-server-standalone now and restart at login:
  brew services start selenium-server-standalone
Or, if you don't want/need a background service you can just run:
  selenium-server -port 4444
==> Summary
🍺  /usr/local/Cellar/selenium-server-standalone/3.11.0: 5 files, 22.3MB, built in 7 seconds
mac:dev me$ selenium-server -port 4455

Sie können sehen, dass Sie den Port von diesem Selenium-Server über die Befehlszeile überschreiben oder bearbeiten ~/Library/LaunchAgents/homebrew.mxcl.selenium-server-standalone.plistkönnen, um diese beiden Zeilen zu ändern, die den Standardport steuern:

<string>-port</string>
<string>4444</string>

Sobald Sie die Änderung gespeichert haben, durchlaufen Sie den Dienst mit:

brew services restart selenium-server-standalone

Ich schlage vor, zu notieren, welche Dateien Sie ändern und wie Sie sie genau ändern, da Aktualisierungen der Server-App sehr wahrscheinlich alle von Ihnen vorgenommenen Änderungen rückgängig machen. Vielleicht möchten Sie sogar ein Shell-Skript erstellen, das nach diesen Dateien sucht und sie jedes Mal beim Booten automatisch ändert. Ich muss etwas Ähnliches tun, damit mein brew-installierter Apache nicht durch den Apache des Systems gestört wird.