开始分离屏幕会话


8

我想开始屏幕分离会话,但是我想评估一下。似乎屏幕仅支持可执行文件和二进制文件。我想做一些魔术,例如:

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

但这显然不起作用。报价在这里没有帮助。我唯一的想法是创建一个包装器脚本,该脚本将执行此重定向,然后直接调用它,例如:

screen -d -m wrapper_script.sh

还有其他想法吗?谢谢。

Answers:


8

您可以让屏幕运行一个bash shell,然后运行您的脚本。

我刚刚测试了这个:

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

这给了我这个:

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

所以这也应该工作:

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

哦,我正在尝试,但是有错字!非常感谢。
lzap 2012年

4

您是否尝试过指定-L屏幕选项来写入日志?

您还可以使用该文件指定日志的名称~/.screenrc-以下是我的内容:

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

谢谢,那也应该这样做!赞成,但肯尼的答案更为笼统。谢谢。
lzap 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.