launchd escuchando en el puerto 4444

el lsofcomando me dice que launchdestá escuchando en el puerto 4444:

$ 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)

Estoy tratando de configurar un servidor Selenium ( https://www.seleniumhq.org/ ) cuyo puerto predeterminado es 4444. Me doy cuenta de que podría cambiar el puerto de Selenium, pero no recuerdo haber tenido este conflicto en Mac anteriormente (yo supongo que antes de Tiger)

¿Es posible/viable haber launchdejecutado en un puerto diferente?

EDITAR: Encontré la siguiente información al buscar qué plistarchivos se refieren al puerto 4444; muestra que es parte de la Serverconfiguración. La función Wiki del servidor está actualmente DESACTIVADA. ¿Es seguro editar este archivo para cambiar la configuración del puerto?

/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 /avance/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

He agregado muchos detalles a mi respuesta, gracias por agregar los detalles adicionales a su publicación, que ayudaron a mostrar la lista correcta que necesita editar para cambiar el puerto 4444 a otro puerto.

Respuestas (2)

Sí. Cambiar el puerto es tan simple como ejecutarlo con una anulación de línea de comando:

selenium-server -port 4455

Lo anterior intentaría escuchar en el puerto 4455 en lugar de 4444

Cambiar launchd es un poco más de trabajo ya que necesita ubicar el archivo exacto en el sistema de archivos que recibió las instrucciones para escuchar en 4444.

Aquí hay una buena redacción de una de esas formas de configurar Selenium para usar el puerto 4444

Por lo tanto, deberá editar el plist que controla el lanzamiento. Recomendaría usar homebrew para instalar esto:

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

Puede ver que puede anular el puerto de este servidor Selenium desde la línea de comando o editar ~/Library/LaunchAgents/homebrew.mxcl.selenium-server-standalone.plistpara cambiar estas dos líneas que controlan el puerto predeterminado:

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

una vez que guarde el cambio, realice un ciclo del servicio usando:

brew services restart selenium-server-standalone

Le sugiero que anote qué archivos cambia y exactamente cómo los cambia, ya que es muy probable que las actualizaciones de la aplicación Server deshagan todos los cambios que realizó. Es posible que incluso desee crear un script de shell que busque estos archivos y los cambie automáticamente en el momento del arranque, cada vez. Tengo que hacer algo similar para que el apache del sistema no interrumpa mi apache instalado en brew.