Cuando ejecuto sudo kill -9 [PID]con la ID de proceso adecuada, el proceso se detiene pero luego se reinicia y tiene un nuevo PID. Estoy tratando de matar el mysqldproceso.
¿Cómo puedo imitar el Monitor de actividad para matar un proceso? En el Monitor de actividad, cuando presiona "Salir del proceso", el proceso deja de ejecutarse permanentemente, se termina por completo. Me imagino que killhará lo mismo, ¿verdad?
Tenía tanto el Monitor de actividad como el terminal uno al lado del otro para ver si el comando funciona, pero cada vez que lo hago sudo kill -9 [PID], el proceso en el Monitor de actividad no desaparece, solo se actualiza con un nuevo PID.
Entonces ... ¿cómo elimino el mysqldproceso a través del terminal?

Respuestas:
Probablemente , el proceso que está ejecutando está siendo administrado por launchd , la forma correcta de detenerlo y evitar que se reinicie es usarlo
launchctl unload <path to plist>. La lista que controla ese proceso está en/Library/LaunchDaemonso/System/Library/LaunchDaemons. Si se trata de un proceso del sistema y no uno propio, probablemente tendrá que utilizarlosudopara comenzarlaunchctla trabajar como lo desee.Una mejor manera de tratar de detenerlo podría ser;
fuente
mysqldproceso. No estoy seguro de si eso es parte de LaunchDaemons ... pero el siguiente comando es la forma correcta de detener la ejecución del servidor,sudo /usr/local/mysql/support-files/mysql.server stoppero tengo problemas con eso, así que estoy tratando de matar el proceso directamente.kill -9el launchd esté probablemente involucrado, aunque sea indirectamente. puede decirlo usandolaunchctl listsudo launchctl unload /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plistUn par de comentarios mencionan que "launchd probablemente esté involucrado", así que pensé en publicar esto como una respuesta adicional. Como dice @ jarrod-roberson, puede verificar si launchd está involucrado ejecutando primero
launchctl list | grep mysqld.Una cosa importante que aprende aquí es si MySQL se instaló con Homebrew o no: Brew almacena sus
launchctlarchivos en una ubicación diferente de donde OSX pone los servicios "regulares".En mi cuadro OSX, los
plistarchivos están en~/Library/LaunchAgents/Así que ejecuté:para detener el servidor MySQL. Había buscado previamente
/Library/LaunchDaemons/y/Library/LaunchAgentsno encontré un archivo conmysqldsu nombre.También puede instalar un sistema basado en brew llamado
services, para administrar todas las aplicaciones de servicios instaladas en Brew, como se describe en esta publicación: http://robots.thoughtbot.com/starting-and-stopping-background-services-with-homebrew I Sin embargo, no he probado esto, así que YMMV.fuente
/usr/local/opt/mysql/homebrew.mxcl.mysql.plistTraté de matar el proceso enviándole la
TERMseñal, y funcionó. El comando fue:fuente
Para mí, esto funcionó una vez que descubrí qué etiqueta estaba buscando.
fuente
Descargue el servicio y detenga el demonio:
Cargue el servicio e inicie el demonio:
fuente
com.oracle.oss.mysql.mysqld.plistse instaló Mi MySQL local desde la descarga desde MySQL, no a través de homebrew.¿Qué proceso estás tratando de matar? Algunos procesos en Mac OS X (por ejemplo, el Dock, algunos procesos del sistema) reaparecen automáticamente si son eliminados.
fuente
mysqldprocesolaunchd, entonces, que lo reiniciará si el proceso se detiene.Resolví la edición del archivo /Library/LaunchDaemons/com.mysql.mysql.plist, cambiando el atributo verdadero a falso
fuente
Hay un proceso ejecutándose en su máquina que está bloqueando mysql. correr
ps auxwww | grep mysqlentonces hazlo
kill -15 {PID}Mi proceso que lo estaba bloqueando fue _mysql
fuente