Mulai sesi layar terpisah


8

Saya ingin memulai sesi terpisah layar, tetapi saya ingin mengevaluasi beberapa bash. Sepertinya layar hanya mendukung yang dapat dieksekusi dan biner. Saya ingin melakukan sihir seperti:

screen -d -m script.sh 2>&1 | tee logfile.log

tetapi ini tampaknya tidak berhasil. Mengutip tidak membantu di sini. Satu-satunya ide yang saya miliki adalah membuat skrip wrapper yang akan melakukan pengalihan ini dan kemudian menyebutnya langsung, seperti:

screen -d -m wrapper_script.sh

Ada ide lain? Terima kasih.

Jawaban:


8

Anda bisa membuat layar menjalankan bash shell, yang pada gilirannya menjalankan skrip Anda.

Saya baru saja menguji ini:

screen -d -m bash -c 'vmstat 5 3 2>&1 | tee logfile.log'

yang memberi saya ini:

kenny@t520:~$ cat logfile.log 
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  0      0 5864764 103072 884512    0    0    66    36 1236 1818 17  6 77  0
 0  0      0 5864252 103072 884512    0    0     0     0  311  574  1  1 98  0
 1  0      0 5861532 103080 884512    0    0     0     4 1244 2302  4  2 94  0

Jadi ini harus bekerja juga:

screen -d -m bash -c 'script.sh 2>&1 | tee logfile.log'

Oh, saya sudah mencoba ini tetapi ada salah ketik! Terimakasih banyak.
lzap

4

Sudahkah Anda mencoba menentukan -Lopsi layar untuk menulis ke log?

Anda juga dapat menentukan nama log menggunakan file ~/.screenrc- di sini adalah konten milik saya sebagai contoh:

defutf8 on
deflog on
logfile /home/me/convert.log
multiuser on

Terima kasih, itu juga harus dilakukan! Upvoting, tetapi jawaban Kennys lebih umum. TERIMA KASIH.
lzap
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.