strace實時檢視程序日誌輸出

2021-10-07 07:23:05 字數 737 閱讀 3917

在啟動程序的時候忘記重定向log到輸出檔案,或者terminal意外退出但是程式還在繼續執行,但我想看看程式執行的具體情況,看看程式輸出的log,這時候strace命令就派上用場了

strace命令

安裝方式:apt-get install strace

strace 來變通的看一下日誌,strace是乙個用來跟蹤程序執行時的系統呼叫和所接收的訊號的程式會將程式的系統呼叫情況列印出來。而我們的日誌輸出,比如printf到了系統呼叫這一層,使用的是write,於是我們可以利用這一點動態的檢視printf的輸出。

比如如下命令來檢視程序pid為1648的printf輸出 

strace  -e trace=write -s 200 -f -p 16482 或者 strace  -ewrite -s 200 -f -p 16482

-e trace=write  的意思是設定乙個表示式,用來控制如何跟蹤,這裡表示只跟蹤write的系統呼叫情況

-s 200 的意思是字串輸出顯示時的最大長度,預設是32個位元組,對於printf的列印可能不夠,這裡我們設定為200

-f  的意思是需要跟蹤子程序forks,這裡對執行緒同樣適用,不加這個引數只能輸出main所在的執行緒的資訊。

-p 1648 指定要跟蹤的程序號為1648

如需要儲存到檔案則使用-o 引數

strace -o out.strace -e trace=write -s 200 -f -p 16482 

Nodejs 日誌websocket實時輸出

有這樣乙個需求,想要通過websocket檢視某些日誌檔案的輸出 新的檔案,或者是新新增的內容,可以按行輸出 並且需要實時的,可採用系統的tail並結合spawn命令進行。package.json 安裝 npm installindex.js let fs require fs let spawn ...

tail f 實時檢視日誌檔案

taii 用於檢視檔案的內容,有乙個常用的引數 f 用於查閱正在改變的日誌檔案。tail f filename 會把filename檔案裡的最尾部內容顯示在螢幕上且不斷重新整理,只要filename更新就能看到最新的檔案內容 一 命令格式 tail 引數 檔案位址 二 引數 f 迴圈讀取 q 不顯示...

如何實時檢視Linux下日誌

首先得切換到檢視日誌的檔案下 比如,我檢視 uwsgi.log 檔案,1 首先進入,cd python dajian dajian 2 tail f uwsgi.log 3 這樣執行時就可以實時檢視執行日誌了 ctrl c 是退出tail命令 tail 必要引數 選擇引數 檔案 用於顯示指定檔案末尾...