Saya memiliki skrip yang berjalan lama di komputer jarak jauh.
Saya tidak ingin mengakhiri sesi ssh saya, dan perlu memasukkannya ke dalam skrip shell.
Bagaimana mungkin untuk mencegah Mac saya tertidur dari baris perintah?
sleep-wake
command-line
Kobame
sumber
sumber
Jawaban:
Di Mountain Lion Anda dapat menggunakan
caffeinate
perintah.akan mencegah tidur menganggur selama 1000 detik.
sumber
Solusi untuk masalah ini adalah tidak membuat klien (Mac Anda) terjaga. Menggunakan pendekatan seperti ini tidak dapat diandalkan. Apa yang terjadi jika koneksi jaringan terputus? Bahkan jika Mac Anda terjaga, skrip akan berhenti.
Menggunakan
nohup
Jika skrip lama Anda dipanggil
eternity.sh
, coba yang berikut ini:nohup /path/to/eternity.sh > /path/to/output.out &
Sekarang Anda bahkan dapat menutup koneksi dan skrip Anda akan terus berjalan . The
&
latar belakang proses sehingga Anda dapat menjaga sambungan terbuka dan memasukkan perintah. Lihat hasil apa pun dari skrip Anda melalui:tail -f /path/to/output.out
Jalur dalam contoh bersifat opsional jika skrip berada di jalur Anda dan Anda ingin agar keluaran skrip ditulis
output.out
di direktori saat ini.Saya mengelola skrip yang berjalan selama berhari-hari. Skrip seperti ini harus dilepaskan dari terminal. Untungnya,
nohup
menyediakan doa perintah yang mudah diingat untuk mencapai ini - pikir tidak ada hangup .sumber
man screen
.Pilihan lain adalah pmset . Gunakan perintah
pmset noidle
untuk mencegah tidur selamapmset
berjalan. Sayangnya, ini membutuhkan jendela Terminal terpisah denganpmset
menjalankannya. Namun, pilihan lain,caffeinate
hanya memungkinkan Anda menetapkan tertentu waktu . Jadi itu masalah memilih apakah Anda ingin membuka sesi SSH kedua, atau berurusan dengan pembatasan waktu.Sunting: Menurut komentar binarybob , Anda sebenarnya dapat menjalankannya di latar belakang seperti ini:
pmset noidle &
Untuk kembalipmset
mengetikfg
.sumber
pmset
di latar belakang menggunakanpmset noidle &
dan karena itu terus menggunakan prompt perintah saat ini. Ketikfg
untukpmset
kembali, pada titik mana Anda dapat Ctrl + C!pmset noidle
- sangat bagus ketika Anda memiliki desktop yang melayani notebook IPython dan laptop yang menghubungkan dari jarak jauh.Penjelasan:
-i
- Cegah tidur nyenyak.-s
- Mencegah tidur sistem (seluruhnya, bahkan jika Anda menutup tutupnya). Catatan: ini hanya berfungsi saat daya AC./bin/ssh
- Terus menulis perintah yang ingin Anda jalankan. Menggunakanssh
secara langsung alih-alih/bin/ssh
juga harus bekerja.Hasil: Sistem Anda tidak akan tidur selama
ssh
perintah berjalan.sumber
Jika Anda mencari opsi nuklir seperti saya:
- Atur atau Nonaktifkan Tidur Karena Sistem Mac Ketidakaktifan dari Baris Perintah di OS X
sumber
Screensaver StarMessage ( http://starmessagesoftware.com/moonscreensaver/ ) juga memiliki opsi untuk membuat MAC tetap terjaga selama 2 jam, 8 jam, atau secara permanen. Cara menonaktifkan tidur MAC ini, jauh lebih mudah daripada kafein.
sumber