Bagaimana saya bisa mendapatkan layar untuk menjalankan perintah dan kemudian melepaskan (Yaitu, secara otomatis dalam satu skrip tanpa input lebih lanjut di luar memulai skrip)? misalnya saya menjalankan myscript.sh dan secara otomatis memulai sesi layar, mengeksekusi perintah, kemudian melepaskan.
command-line
script
gnu-screen
darkfeline
sumber
sumber
screen yourcommand
tanpa-d
dan-m
dan lihat bagaimana hasilnya dulu.zombie
opsi di layar. Masukanzombie xy
dalam Anda~/.screenrc
. Seharusnya juga dimungkinkan untuk mengaktifkannya hanya untuk satu sesi, meletakkanzombie xy
file lain dan menggunakan-c file
tetapi untuk beberapa alasan itu tidak berfungsi ketika saya mencobanya. Atau cukup gunakansh -c 'yourcommand;while :;do sleep 9999; done'
Untuk menjalankan satu perintah di layar dan melepaskan, Anda dapat mencoba:
Untuk menjalankan banyak perintah, cobalah:
Harap dicatat bahwa ketika sebuah program berakhir, layar (per default) membunuh jendela yang berisi itu.
Jika Anda tidak ingin sesi Anda terbunuh setelah skrip selesai, tambahkan
exec sh
di akhir, misalnya:Untuk membuat daftar semua sesi Anda, cobalah:
Terkait: Mulai layar Unix, Jalankan perintah, Lepaskan .
sumber
-S sessionname
:screen -dmS MyLongRunningScript bash -c "..."
.Untuk memulai sesi baru di latar belakang dengan nama 'mengantuk'
Untuk membunuh sesi 'mengantuk'
sumber
screen -S sleepy -dm "cd myfolder;sleep 60"
?sumber
itu terjadi pada saya ketika saya menekan control c (sig int) untuk keluar dari program saya. keluar dari semua bash. jadi saya menemukan ini untuk menangkap SIGINT. dan mencegah keluar dari bash terakhir. (perlu mengetik keluar untuk keluar)
Saya merasa berguna untuk menggunakan cron untuk menjalankan program nodejs saat startup. dan untuk menjalankan layar saat boot. di cron ada sintaks acara acara khusus @reboot
sumber