Come forzare la chiusura di uno script AppleScript lanciato dalla barra degli strumenti?

3

Ho uno script AppleScript (per avviare MySQL) che eseguo dal menu della barra degli strumenti di AppleScript. Fa il lavoro (lancia MySQL), tuttavia lo script sembra non uscire. E la ruota dentata nella barra degli strumenti continua a ruotare.

Quandosifaclicsullarotellina,possofareclicsulpulsantedichiusura"x" per quello script, ma non fa nulla. Non ci sono processi bloccati in Activity Monitor.

Come posso "forzare la chiusura" di quello script?

P.S. Qualcuno ha chiesto qual è lo script, eccolo qui:

do shell script "sudo /usr/local/mysql/support-files/mysql.server start" with administrator privileges
    
posta Oleg 17.10.2018 - 20:33
fonte

2 risposte

1

Ok, per prima cosa, quando usi AppleScript "con privilegi di amministratore" non dovresti usare sudo

In secondo luogo, devi inviare il lavoro in background se vuoi che l'AppleScript termini.

Il modo più semplice per farlo è inserire il comando in uno script di shell, in questo modo:

#!/bin/zsh -f

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

exit 0

(nota il &| alla fine della riga. Questo indica al processo di entrare nello "sfondo")

Salva quelle 3 righe in un file chiamato qualcosa come /usr/local/bin/start-mysql-server.sh e poi fai

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

per renderlo eseguibile.

Infine, cambia il tuo AppleScript in

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

e dovrebbe lanciare e quindi la marcia dovrebbe sparire.

    
risposta data 17.10.2018 - 23:11
fonte
0

Vorrei fare:

  1. Apri terminale
  2. Digita ps aux|grep mysql
  3. ottieni il PID dello script
  4. Digita kill -s 9 #### dove #### è il PID dello script

Vorrei controllare per assicurarmi di non uccidere il processo sbagliato come un altro server mysql.

    
risposta data 18.10.2018 - 01:11
fonte

Leggi altre domande sui tag