Saya semakin tertarik menggunakan Terminal sebagai cara alternatif untuk mengatasi solusi pada Mac saya. Saya telah melihat pertanyaan ini berjudul "Apakah ada cara yang lebih baik untuk mematikan / memulai kembali OSX?" .
Karena itu saya ingin tahu:
Bagaimana cara mematikan, menyalakan kembali dan tidur Mac saya menggunakan perintah Terminal secara eksklusif?
Jawaban:
Perintah yang Anda cari adalah shutdown . Ini memberi tahu semua pengguna bahwa mesin akan dimatikan dan memberi tahu semua aplikasi untuk menutup file, dll.
Perintah ini mengambil parameter -h, -r atau -s untuk mematikan, memulai kembali atau tidur Mac.
Perintah harus dijalankan sebagai root sehingga Anda perlu menggunakan sudo.
misalnya untuk me-reboot mesin segera
mis. untuk mematikan mesin dalam 60 menit
Dari komentar ada dua hal yang harus dibenahi
Cara shutdown bekerja adalah dengan mengirimkan sigterm ke semua proses yang kemudian harus mengatasinya misalnya menyimpan file yang terbuka dll. Jika mereka tidak keluar maka mereka akan dikirimi SIGKILL yang memaksa mereka mati tanpa ada kesempatan untuk merespons. Sinyal tidak dikirim melalui antrian pesan kunci normal sehingga Aplikasi harus menangani ini secara terpisah dengan kode yang dipanggil dari berhenti di menu. Aplikasi yang baik harus memanggil kode umum dari keduanya.
Jawaban lain ini menunjukkan cara mematikan seperti jika Anda menekan opsi menu. Tetapi perhatikan bahwa aplikasi dapat membatalkan penutupan ini
sumber
/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend
. Saya memilikinya alias dalam file yang bersumber di .bash_profile saya sebagai berikut:alias lock='/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend'
Matikan tanpa menampilkan dialog konfirmasi:
Matikan setelah menampilkan dialog konfirmasi:
Mulai ulang tanpa menampilkan dialog konfirmasi:
Mulai ulang setelah menampilkan dialog konfirmasi:
Logout tanpa menunjukkan dialog konfirmasi:
Logout setelah menunjukkan dialog konfirmasi:
Tidur (
pmset
):Pergi tidur (AppleScript):
Pasang monitor ke mode sleep (10.9 dan yang lebih baru):
Empat kode huruf untuk acara Apple tercantum dalam
AERegistry.h
.Semua perintah System Events di atas mengirim Apple events ke
loginwindow
proses.loginwindow
dikirim kejadian Apple yang sama seperti di atas ketika Anda logout, restart, mematikan, atau membuat Mac tidur normal. Lihat T&J Teknis QA1134: Secara terprogram menyebabkan restart, shutdown, dan / atau logout .Menurut
man shutdown
,shutdown -h now
danshutdown -r now
mengirim prosesTERM
sinyal diikuti olehKILL
sinyal.Menurut Panduan Pemrograman Layanan dan Daemon , ketika Anda meminta
loginwindow
untuk keluar, proses yang mendukung penghentian mendadak dikirimKILL
sinyal, dan proses yang tidak mendukung penghentian mendadak diakhiri dengan cara yang berbeda: Aplikasi Kakao menerimaapplicationShouldTerminate:
metode delegasi, aplikasi latar depan menerimakAEQuitApplication
acara Apple, aplikasi latar belakang menerimakAEQuitApplication
acara Apple diikuti olehKILL
sinyal, dan daemon menerimaTERM
sinyal diikuti olehKILL
sinyal setelah beberapa detik.sumber
Shutdown segera:
Jika Anda merasa ingin menunda, Anda dapat menggunakan sintaks perintah berikut:
(-h parameter mengatur waktu untuk mematikan, di mana (+) 30 menit untuk menghentikan sistem)
sumber
juga berguna, untuk keluar dari prompt baris perintah terminal, ketik 'keluar':
sumber
Ctrl-D
untuk logout, karena tidak mengotori sejarah baris perintah.