Щоб відповісти на запитання:
Чи можна створити програму Automator для запуску та зупинки Tomcat, коли мені це потрібно?
Так
Який правильний спосіб це зробити, або мені потрібен AppleScript?
- І чи можна зробити обидва запуску і зупинки в одному програмі Automator?
- Який правильний спосіб створити програму Automator, або мені потрібно використовувати AppleScript?
Оскільки зазвичай існує більше одного способу досягти чогось, ми можемо утримуватися від використання "... правильного шляху до ..." і показувати вам деякі варіанти.
Якщо ви просто хочете бути в змозі перемикання стану з Apache Tomcat , тобто початок або Стоп це, то наступний командний рядок може бути використаний в a Автоматизатор Робочий процес програми за допомогою a Запустіть сценарій оболонки дії :
- В Автоматизатор , створіть нове Робочий процес програми .
- Додати a Запустіть сценарій оболонки дії .
- Налаштування : Оболонка: / bin / bash і Прохідний вхід: до stdin
Замінити код за замовчуванням з наступним рядком код :
[[ $(/bin/ps aux | /usr/bin/grep [t]omcat) == "" ]] && /usr/local/bin/catalina start || /usr/local/bin/catalina stop
- Збережіть Автоматизатор Робочий процес програми .
Ця команда перевірки щоб побачити, якщо Apache Tomcat є працює і якщо ні , потім починається це, і якщо так , потім зупиняється це. Це просто перемикає стан з Apache Tomcat . Це рішення без надмірностей.
Більш надійним рішенням було б використовувати a Запустіть AppleScript дії замість цього.
- В Автоматизатор , створіть нове Робочий процес програми .
- Додати a Запустіть AppleScript дії .
Використовуйте наступне наприклад AppleScript код на місці код за замовчуванням :
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
- Збережіть Автоматизатор Робочий процес програми .
Це також можна використовувати в AppleScript Застосування , створені в Росії Редактор сценаріїв , само собою без необхідності Автоматизатор . У будь-якому випадку, коли запуститься, ви будете представлені одним або іншим діалогові вікна .
Це дає вам можливість побачити, чи є це чи ні працює і скасувати замість цього.
Примітка: За винятком використання a try
заяву і a on error number 1
заяву іншого немає обробка помилок представлені в наприклад AppleScript код . За додаткову плату обробка помилок як це може бути доречним / необхідним / бажаним, на користувача покладається додати відповідні додаткові обробка помилок для будь-якого приклад коду представлені.
Також, приклад коду представлені тут були перевірені під чистою установкою macOS 10.12.6 за допомогою інструментів командного рядка (macOS Sierra, версія 10.12) для Xcode-9.1, Homebrew, JDK 9.0.1 і apache-tomcat-8.5.23.tar.gz. Я не бачу причин, чому це не буде працювати в MacOS 10.13, а також.
display notification "Tomcat has started/stopped." with title "Tomcat"
.