Avvia sessione schermo distaccato


8

Vorrei iniziare una sessione staccata dallo schermo, ma voglio valutare un po 'di bash. Sembra che lo schermo supporti solo un eseguibile e un file binario. Voglio fare un po 'di magia come:

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

ma a quanto pare non funziona. La citazione non aiuta qui. L'unica idea che ho è quella di creare uno script wrapper che farà questo reindirizzamento e quindi chiamarlo direttamente, come:

screen -d -m wrapper_script.sh

Altre idee? Grazie.

Risposte:


8

È possibile che lo schermo esegua una shell bash, che a sua volta esegue lo script.

Ho appena provato questo:

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

che mi ha dato questo:

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

Quindi dovrebbe funzionare anche questo:

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

Oh, ci stavo provando ma avevo un refuso! Grazie molto.
lzap,

4

Hai provato a specificare l' -Lopzione dello schermo per scrivere in un registro?

Puoi anche specificare il nome del registro usando il file ~/.screenrc- ecco il mio contenuto come esempio:

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

Grazie, anche questo dovrebbe farlo! Voto positivo, ma la risposta di Kennys è più generica. GRAZIE.
lzap,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.