ปิดแอปพลิเคชันอย่างสง่างามจาก Command Line ใน Mac OS X
การออกจากแอปอย่างราบรื่นมักทำได้ผ่านเมนูแอปพลิเคชันที่เหมาะสมโดยเลือก "ออก" แต่เห็นได้ชัดว่า Mac GUI ไม่สามารถเข้าถึงได้จากบรรทัดคำสั่งของ Mac OS X ดังนั้นเมื่อผู้ใช้บรรทัดคำสั่งส่วนใหญ่ต้องเผชิญกับความจำเป็นในการออกจากแอปพลิเคชัน พวกเขา เลิกใช้คำสั่ง 'kill' เพื่อยุติกระบวนการและบังคับให้ออกจากแอป แทนที่จะออกคำสั่ง 'soft' killปัญหาที่เห็นได้ชัดในการยุติแอปคือในขณะที่แอปออกจากแอปพลิเคชัน คุณอาจสูญเสียข้อมูลในกระบวนการนั้น และแม้แต่เซสชันการคืนค่าแคชก็อาจไม่เพียงพอที่จะกู้คืนข้อมูล ดังนั้น เมื่อใดก็ตามที่เป็นไปได้ จะเป็นการดีที่สุดสำหรับผู้ใช้ในการออกจากแอปพลิเคชันอย่างนุ่มนวลแทน
แม้ว่าจะไม่เป็นที่รู้จักมากนัก แต่คุณก็สามารถส่งสัญญาณออกมาตรฐานไปยังแอป Mac OS X GUI จากบรรทัดคำสั่งด้วยความช่วยเหลือของคำสั่ง osascript มันค่อนข้างใช้งานง่าย และนั่นคือสิ่งที่เราจะกล่าวถึงในที่นี้
วิธีออกจากแอปอย่างสง่างามจาก Terminal ใน Mac OS X ด้วย osascript
อีกครั้ง การดำเนินการนี้จะส่งสัญญาณออกจากมาตรฐานไปยังแอปพลิเคชัน แทนที่จะเป็นสัญญาณหยุด (ยุติ) ซึ่งหมายความว่าแอปพลิเคชันเป้าหมายจะไม่บังคับให้ออกหากมีข้อมูลที่ไม่ได้บันทึกโดยไม่แจ้งให้ผู้ใช้ป้อนข้อมูล (เว้นแต่คุณจะเปิดใช้งานการตั้งค่าบันทึกอัตโนมัติสำหรับ Mac OS X และแอปพลิเคชันไม่แจ้งผู้ใช้เป็นผลลัพธ์)
ไวยากรณ์พื้นฐานในการส่งสัญญาณออกจากมาตรฐานไปยังแอปพลิเคชัน GUI ใน Mac OS X จาก Terminal มีดังนี้:
"osascript -e &39;ออกจากแอป APPLICATIONNAME&39;"
ตัวอย่างเช่น หากต้องการออกจากปฏิทินจากบรรทัดคำสั่ง ให้แทนที่ APPLICATIONNAME ด้วย “Calendar”
"osascript -e &39;ออกจากแอพปฏิทิน&39;"
เนื่องจากปฏิทินซิงค์และไม่มีตัวเลือกบันทึก คุณจะไม่เห็นกล่องโต้ตอบบันทึกมาตรฐานเมื่อพยายามปิดแอป สำหรับแอปที่มีตัวเลือกการบันทึก และเมื่อ Mac OS X ปิดใช้งานการบันทึกอัตโนมัติ กล่องโต้ตอบการบันทึกจะถูกเรียกใช้ตามปกติ
ข้อดีอีกประการของการใช้ osascript เพื่อปิดแอปอย่างนิ่มนวลคือคุณสามารถระบุชื่อแอปพลิเคชันจริงได้ ซึ่งง่ายต่อการจดจำและเป็นมิตรกับผู้ใช้มากกว่าการพึ่งพาหมายเลข ID กระบวนการทั้งหมด คำสั่งฆ่าโปรดทราบว่า Mac OS X เวอร์ชันใหม่มีคำสั่ง kill ที่ได้รับการปรับปรุงซึ่งเป็นมิตรกับผู้ใช้มากขึ้น ซึ่งเรียกว่า pkill
คุณสามารถใช้สิ่งนี้ในสคริปต์ทุบตีเพื่อปิดแอปพลิเคชันจากบรรทัดคำสั่ง หรือแม้กระทั่งแก้ไขให้ทำงานคล้ายกับ "ออกจากแอปที่เปิดอยู่ทั้งหมด" ด้วยกลอุบาย Automator ที่เรากล่าวถึงก่อนหน้านี้