Saya sedang mengerjakan mengotomatiskan rutinitas perawatan yang melibatkan memulai dan menghentikan skrip yang berjalan dalam sesi layar. Pendekatan saya adalah untuk mematikan sesi layar, dan kemudian restart dan jalankan perintah dari dalam skrip menggunakan kemampuan untuk membuat layar dan meneruskan perintah tanpa harus melampirkan ke layar.
Namun, saya mengalami kesulitan dengan ini. Saya dapat membuat layar dengan benar tanpa harus menggunakan screen -d -m -S screen_name
. Namun, jika saya menjalankan perintah berdasarkan:
screen -S screen_name-X stuff "command 1"'echo -ne '\015''"command 2"'echo -ne '\015''
dengan echo -ne '\ 015' dibungkus dengan backticks daripada tanda kutip tunggal. Ini untuk mensimulasikan pengguna menekan tombol enter ketika perintah yang saya gunakan pindah ke direktori dan menjalankan skrip yang terletak di sana. Perintah ini berfungsi, tetapi hanya jika layar telah dilampirkan setelah dibuat. Ketika saya mencoba untuk mengotomatiskan proses membuat layar dan menjalankan perintah di dalamnya, saya ingin menghindari melampirkan dan melepaskan dalam skrip. Saya akan mencoba saran untuk membuat skrip shell yang berisi perintah yang perlu saya jalankan di dalam layar dan mengedit sesuai dengan hasil saya.
Apakah ada cara untuk membuat layar dan menjalankan perintah di dalam layar baik dalam satu perintah, atau tanpa harus melampirkan ke layar setelah membuat tetapi sebelum pelaksanaan perintah?
Terima kasih sebelumnya.
** Pembaruan - setelah mencoba saran untuk menempatkan perintah yang saya perlu jalankan dalam skrip shell, saya telah berhasil membuat layar dan menjalankan perintah dari dalam layar, tetapi saya mendapatkan perilaku bahwa ketika skrip berhenti berjalan layar ditutup juga. Ini seharusnya tidak menjadi masalah karena skrip adalah skrip logging yang hanya boleh berhenti dengan sepengetahuan admin sys atau melalui skrip yang saya coba kembangkan, namun akan lebih baik untuk memiliki pengaturan layar sedemikian rupa sehingga layar tidak hilang jika skrip dihentikan. Apakah mungkin untuk mencapai perilaku ini? **
.screenrc
yang berisi baris zombie kr
, yang akan membuat jendela jadi terbuka, dan Anda bisa menekan k
untuk menutup winodw, atau r
untuk menjalankan perintah di jendela lagi. Saya memiliki ini untuk .screenrc default saya.