เพื่อตอบคำถามที่คุณถามจริง:
เนื่องจากโดยปกติแล้วจะมีวิธีหนึ่งที่จะทำให้บางสิ่งบางอย่างสำเร็จให้งดใช้ "... วิธีที่ถูกต้องในการ ... " และแสดงตัวเลือกบางอย่างให้คุณเห็น
หากคุณเพียงต้องการที่จะสามารถ สลับสถานะ ของ Apache Tomcat , เช่น เริ่มต้น หรือ หยุด มันจากนั้นบรรทัดคำสั่งต่อไปนี้สามารถใช้ใน อัตโนมัติ แอพลิเคชันเวิร์กโฟลว์ ใช้งาน เรียกใช้ Shell Script การกระทำ :
- ใน อัตโนมัติ สร้างใหม่ แอพลิเคชันเวิร์กโฟลว์ .
- เพิ่ม เรียกใช้ Shell Script การกระทำ .
- การตั้งค่า : เชลล์: / 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 . มันเป็นวิธีการแก้ปัญหาไม่จีบ
วิธีแก้ปัญหาที่แข็งแกร่งกว่าคือการใช้ เรียกใช้ AppleScript การกระทำ แทน.
- ใน อัตโนมัติ สร้างใหม่ แอพลิเคชันเวิร์กโฟลว์ .
- เพิ่ม เรียกใช้ 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 ใบสมัคร สร้างขึ้นใน ตัวแก้ไขสคริปต์ ด้วยตัวเองโดยไม่ต้องการ อัตโนมัติ . ไม่ว่าในกรณีใดเมื่อเรียกใช้คุณจะได้รับการนำเสนออย่างใดอย่างหนึ่ง กล่องโต้ตอบ .
สิ่งนี้เปิดโอกาสให้คุณดูหรือไม่ วิ่ง และ ยกเลิก ถ้าคุณต้องการแทน
บันทึก: ด้วยข้อยกเว้นของการใช้ try
คำแถลง และ 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"
.