¿Cómo forzar la salida de un script AppleScript lanzado desde la barra de herramientas?

3

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.

Alhacerclicenlaruedadentada,puedohacerclicenelbotóndecierre"x" de ese script, pero no hace nada. No hay procesos congelados en el Monitor de actividad.

¿Cómo puedo "forzar la salida" de ese script?

P.S. 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
    
pregunta Oleg 17.10.2018 - 20:33

2 respuestas

1

Ok, primero que nada, cuando esté usando "AppleScript" con privilegios de administrador "no debe usar sudo

Segundo, debes enviar el trabajo en segundo plano si quieres que el AppleScript termine.

La forma más fácil de hacerlo es poner el comando en un script de shell, de este modo:

#!/bin/zsh -f

/usr/local/mysql/support-files/mysql.server start &|

exit 0

(Anote el &| al final de la línea. Eso le indica al proceso que debe ir al 'fondo')

Guarde esas 3 líneas en un archivo llamado algo así como /usr/local/bin/start-mysql-server.sh y luego haga

chmod 755 /usr/local/bin/start-mysql-server.sh

para hacerlo ejecutable.

Finalmente, cambia tu AppleScript a

do shell script "/usr/local/bin/start-mysql-server.sh" with administrator privileges

y debería iniciarse y luego el equipo debería desaparecer.

    
respondido por el TJ Luoma 17.10.2018 - 23:11
0

Yo haría:

  1. Terminal abierta
  2. escribe ps aux|grep mysql
  3. obtener el PID del script
  4. Escriba kill -s 9 #### donde #### es el PID del script

Me aseguraría de que no elimines el proceso incorrecto, como otro servidor mysql.

    
respondido por el Deesbek 18.10.2018 - 01:11

Lea otras preguntas en las etiquetas