Der lsof
Befehl sagt mir , dass launchd
er 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, launchd
auf einem anderen Port ausgeführt zu werden?
BEARBEITEN: Ich habe die folgenden Informationen gefunden, indem ich gesucht habe, welche plist
Dateien sich auf Port 4444 beziehen - es zeigt, dass es Teil der Server
Konfiguration 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
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.plist
kö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.
Fahrrad