Đóng Ứng dụng từ Dòng lệnh trong Mac OS X một cách duyên dáng
Việc thoát ứng dụng một cách duyên dáng thường được thực hiện thông qua menu ứng dụng thích hợp bằng cách chọn “Thoát”, nhưng rõ ràng là không thể truy cập GUI Mac từ dòng lệnh của Mac OS X. Vì vậy, khi hầu hết người dùng dòng lệnh phải đối mặt với nhu cầu thoát ứng dụng, họ kết thúc bằng cách sử dụng lệnh 'giết' để chấm dứt quá trình và buộc thoát khỏi ứng dụng, thay vì đưa ra lệnh giết 'mềm'.Vấn đề rõ ràng với việc chấm dứt ứng dụng là trong khi ứng dụng thoát khỏi ứng dụng, bạn có thể mất dữ liệu trong quá trình đó và thậm chí bộ đệm khôi phục phiên có thể không đủ để khôi phục dữ liệu. Do đó, bất cứ khi nào có thể, tốt nhất là người dùng nên thoát ứng dụng một cách duyên dáng.
Mặc dù nó không được biết đến nhiều nhưng bạn có thể gửi tín hiệu thoát tiêu chuẩn tới bất kỳ ứng dụng GUI nào của Mac OS X từ dòng lệnh với sự hỗ trợ của lệnh osascript. Nó khá dễ sử dụng và đó là nội dung chúng tôi sẽ trình bày ở đây.
Cách thoát ứng dụng khỏi thiết bị đầu cuối một cách duyên dáng trong Mac OS X bằng osascript
Một lần nữa, thao tác này sẽ đưa ra tín hiệu thoát tiêu chuẩn cho một ứng dụng, thay vì tín hiệu hủy (chấm dứt). Điều đó cũng có nghĩa là ứng dụng đích sẽ không bị buộc thoát nếu có dữ liệu chưa được lưu mà không nhắc người dùng nhập (trừ khi bạn đã bật cài đặt tự động lưu cho Mac OS X và kết quả là ứng dụng không nhắc người dùng).
Cú pháp cơ bản để gửi tín hiệu thoát tiêu chuẩn tới ứng dụng GUI trong Mac OS X từ Terminal như sau:
"osascript -e &39;thoát ứng dụng APPLICATIONNAME&39;"
Ví dụ: để thoát khỏi Lịch khỏi dòng lệnh, hãy thay thế APPLICATIONNAME bằng “Calendar”
"osascript -e &39;thoát ứng dụng Lịch&39;"
Vì Lịch đồng bộ hóa và không có tùy chọn lưu nên bạn sẽ không thấy hộp thoại lưu tiêu chuẩn khi cố gắng đóng ứng dụng. Với các ứng dụng có tùy chọn lưu và khi Mac OS X đã tắt tự động lưu, hộp thoại lưu sẽ được triệu tập như bình thường.
Một lợi thế khác khi sử dụng osascript để đóng ứng dụng một cách duyên dáng là bạn có thể cung cấp tên ứng dụng thực tế, tên này dễ nhớ hơn và thân thiện với người dùng hơn một chút so với việc dựa hoàn toàn vào số ID quy trình đi kèm lệnh giết.Lưu ý rằng các phiên bản hiện đại của Mac OS X cung cấp lệnh kill được cải tiến, thân thiện hơn với người dùng, được gọi là pkill.
Bạn có thể sử dụng điều này trong tập lệnh bash để đóng ứng dụng khỏi dòng lệnh hoặc thậm chí sửa đổi nó để hoạt động tương tự như “Thoát tất cả ứng dụng đang mở” bằng thủ thuật Automator mà chúng tôi đã trình bày trước đây.