Bezpieczne zamykanie aplikacji z Terminala
Komenda kill
w Terminalu służy, jak sama nazwa wskazuje, do zabijania procesów. Przy jej pomocy możemy wyłączać na przykład otwarte aplikacje. Problemem w jej używaniu jest ryzyko, że utracimy dane aplikacji, której działanie zabijamy. Jak na to zaradzić?
Terminal nie ma jakiejś specjalnej komendy, która odpowiadałaby standardowemu kliknięciu na pasku menu w nazwę aplikacji i jej zakończenie. Nie pozostajemy jednak w sytuacji bez wyjścia.
Możliwość bezpiecznego zamknięcia aplikacji posiada na przykład AppleScript. A tak się składa, że można go wywoływać z poziomu Terminala. W ten sposób dochodzimy do rozwiązania naszego problemu. By wyłączyć aplikację, wystarczy użyć poniższej komendy:
osascript -e 'quit app "NazwaAplikacji"'
Wystarczy tylko w miejsce NazwaAplikacji
podać oczywiście właściwy program, np. dla aplikacji Byword posłużymy się poleceniem:
osascript -e 'quit app "Byword"'
Pomijając długość tej komendy przewagą nad kill
jest podanie wyświetlanej nazwy aplikacji, a nie jej numeru identyfikacyjnego (PID). No i program będzie zamknięty normalnie z zachowaniem wszystkich cech, jak choćby monitowanie o niezapisanych dokumentach.
Oczywiście taki sposób zamykania przyda się szczególnie osobom, które na przykład tworzą skrypty. Można go jednak „ubrać” w prostą komendę poprzez utworzenie aliasu w pliku .bash_profile
. W tym celu otwieramy go poleceniem:
nano ~/.bash_profile
Jeśli coś się tam już znajduje ustawiamy kursor na sam koniec, gdzie dopisujemy poniższy tekst:
function quit() {
for appname in $*; do
osascript -e 'quit app "'$appname'"'
done
}
Następnie zapisujemy plik → Ctrl ^
+o
, wychodzimy z edytora → Ctrl ^
+x
i przeładowujemy plik .bash_profile
poleceniem:
source ~/.bash_profile
Od tej pory możemy bezpiecznie zamykać aplikacje poleceniem:
quit NazwaAplikacji
Polecenie przyjmuje również wieloczłonowe nazwy aplikacji (jak np. Google Chrome
).
Źródło: osxdaily.com