Kami memiliki proses yang berjalan lama pada server jarak jauh yang dimulai secara manual dari waktu ke waktu. Sayangnya koneksi internet mati, kernel panik dan sejumlah tantangan lain dapat ditemui dengan sesi ssh yang digunakan untuk menghubungkan dan memulai pekerjaan.
Layar sepertinya cara yang sempurna untuk memastikan prosesnya tidak terganggu. Namun, mengandalkan seseorang untuk selalu ingat untuk memulai layar dan kemudian menjalankan skrip untuk memulai proses adalah masalah yang menunggu untuk terjadi. Apakah ada cara dari skrip yang dapat saya periksa untuk melihat apakah skrip dipanggil dari dalam layar? Jika ini adalah proses akan berlanjut kalau tidak skrip akan keluar dengan pesan yang menginstruksikan pengguna untuk menjalankan layar terlebih dahulu.
sumber
Jawaban:
Ada variabel lingkungan untuk itu. Jika sedang dijalankan di dalam layar,
$TERM
akanscreen
. Sesederhana itu; lakukan saja jika ada di atasnya. Contohnya,akan menggema bilah ketika di layar; foo sebaliknya.
sumber
screen-256color
jika pengguna telah mengkonfigurasi dukungan 256 warna.Saat Anda bekerja dengan layar, mengapa tidak menjalankan skrip dengan 'nohup'? Ini juga akan memastikan bahwa itu terus berjalan jika Anda terputus.
Ini output ke file secara default, sehingga Anda dapat menggunakan alat lain untuk memantau output skrip jika Anda inginkan.
sumber