Tengo un script de AppleScript (para iniciar MySQL) que ejecuto desde el menú de la barra de herramientas de AppleScript. Hace el trabajo (inicia MySQL), sin embargo, el script no parece estar saliendo. Y la rueda dentada en la barra de herramientas sigue girando.
Al hacer clic en la rueda dentada, puedo hacer clic en el botón de cierre 'x' para ese script, pero no hace nada. No hay procesos congelados en Activity Monitor.
¿Cómo puedo "forzar la salida" de ese script?
PD Alguien preguntó cuál es el guión, aquí está:
do shell script "sudo /usr/local/mysql/support-files/mysql.server start" with administrator privileges
macos
applescript
Oleg
fuente
fuente
Respuestas:
Ok, primero que nada, cuando esté utilizando "AppleScript con" privilegios de administrador "no debe usar
sudo
En segundo lugar, debe enviar el trabajo en segundo plano si desea que el AppleScript termine.
La forma más fácil de hacerlo es poner el comando en un script de shell, así:
(Nota la
&|
Al final de la línea. Eso le dice al proceso que vaya al 'fondo')Guarda esas 3 líneas en un archivo llamado algo así como
/usr/local/bin/start-mysql-server.sh
y luego hacerpara hacerlo ejecutable.
Finalmente, cambie su AppleScript a
y eso debería Lanzamiento y luego el equipo debe desaparecer.
fuente
Yo lo haría:
ps aux|grep mysql
kill -s 9 ####
donde #### es el PID del scriptMe aseguraría de que no elimine el proceso incorrecto, como otro servidor mysql.
fuente
-s 9
? Es es lo mismo que-9
?