Per rispondere effettivamente alle domande che hai chiesto:
-
Posso creare un'applicazione di Automator per avviare e arrestare Tomcat quando è necessario?
Si
-
Qual è il modo corretto per farlo, o ho bisogno di AppleScript o cose del genere?
- E 'possibile avviare e arrestare sia in un'unica app di Automator?
- Qual è il modo corretto di creare un'applicazione di Automator o devo usare AppleScript?
Dal momento che di solito c'è più di un modo per realizzare qualcosa, ti consigliamo di non usare "... il modo corretto per ..." e mostrarti alcune scelte.
Se vuoi semplicemente essere in grado di attivare lo stato di Apache Tomcat , ad esempio start o stop it, quindi la seguente riga di comando può essere utilizzata in un Automator Flusso di lavoro dell'applicazione utilizzando un Esegui script shell azione :
- In Automator , crea un nuovo Flusso di lavoro dell'applicazione .
- Aggiungi un Esegui script di shell azione .
-
Impostazioni : Shell: / bin / bash e Passa l'input: allo stdin
Sostituisci il codice predefinito con la seguente riga di codice :
[[ $(/bin/ps aux | /usr/bin/grep [t]omcat) == "" ]] && /usr/local/bin/catalina start || /usr/local/bin/catalina stop
- Salva il Automator Flusso di lavoro dell'applicazione .
Questo comando controlla per vedere se Apache Tomcat è in esecuzione e se non , quindi inizia , e se si , allora si ferma . Semplicemente attiva / disattiva lo stato di Apache Tomcat . È una soluzione senza fronzoli.
Una soluzione più solida sarebbe utilizzare invece Esegui AppleScript azione .
- In Automator , crea un nuovo Flusso di lavoro dell'applicazione .
- Aggiungi un Esegui AppleScript azione .
Utilizza il seguente esempio codice AppleScript al posto del codice predefinito :
try
set isRunning to (do shell script "/bin/ps aux | /usr/bin/grep [t]omcat")
on error number 1
set isRunning to missing value
end try
if isRunning contains missing value then
display dialog " Click the Start button to start Apache Tomcat." buttons {"Cancel", "Start"} ¬
default button 2 with title "Start Apache Tomcat"
do shell script "/usr/local/bin/catalina start"
else
display dialog " Click the Stop button to stop Apache Tomcat." buttons {"Cancel", "Stop"} ¬
default button 2 with title "Stop Apache Tomcat"
do shell script "/usr/local/bin/catalina stop"
end if
- Salva il Automator Flusso di lavoro dell'applicazione .
Questo potrebbe anche essere usato in un'applicazione AppleScript , creata in Script Editor , da sola senza bisogno di Automator . In entrambi i casi durante l'esecuzione verrà presentata una o l'altra finestra di dialogo .
Questo ti dà l'opportunità di vedere se è in esecuzione e annulla se preferisci.
Nota: ad eccezione dell'utilizzo di un'istruzione try
e di on error number 1
istruzione non vi sono altri errori gestione presentata nel esempio codice AppleScript . Per ulteriori gestione degli errori che possono essere appropriati / necessari / richiesti, l'onere dell'utente è di aggiungere ulteriore gestione degli errori appropriata per qualsiasi codice di esempio presentato.
Inoltre, il codice di esempio qui presentato è stato testato con un'installazione pulita di macOS 10.12.6 con Command Line Tools (macOS Sierra versione 10.12) per Xcode-9.1, Homebrew, JDK 9.0.1, e apache-tomcat-8.5.23.tar.gz installato. Non vedo alcun motivo per cui questo non funzionerebbe anche con macOS 10.13.