Logs
如何通過串列控制台以分離模式執行 GNU 螢幕並保存輸出?
我想使用 GNU screen 在串列控制台上以分離模式執行單個命令,並將其輸出保存到執行 screen 的主機上的日誌文件中。基本上,以下操作的非互動式等效項:
screen /dev/ttyUSB0 115200 # connect to serial console "/dev/ttyUSB0" using speed "115200" ctrl+a H # start logging some command ctrl+a k y # quit
我知道如何在目前 shell 中以分離模式執行單個命令:
screen -d -m -L some command # output is saved to screenlog.0
但我不明白如何在連接到串列控制台的同時做同樣的事情。
我無法在串列埠上正確測試它,但我認為這可能有效:
$ screen -S serial -L -d -m /dev/ttyUSB0 $ screen -S serial -X stuff 'some command\n'
我的版本
screen
接受一個參數-L
,即日誌文件的名稱。顯然不是所有版本都可以。設置日誌文件名的另一種方法是使用(如果可行)。在寫入之前將輸出緩沖一段時間。預設情況下超時為 10 秒,但請參閱更改。screen -S serial -X logfile *filename*``screen
logfile flush NN
-X
向正在執行的 發送命令screen
,並且stuff
,嗯,將給定的字元串“填充”為目前視窗中的輸入。