linux 重新整理正在執行的程序的stdout

2021-09-28 11:42:48 字數 496 閱讀 9414

參考:

我有乙個長時間執行的程序,stdout重定向到乙個檔案.例如.:

./my-script.sh > file.txt &

部分stdout仍然被快取,但我想將其重新整理到檔案,以便更早地檢視結果.有辦法嗎?

解決方法

快取由libc處理.您可以使用stdbuf命令更改緩衝區大小:

stdbuf -o0 ./my-script.sh > file.txt &

-o0將stdout的緩衝區大小設定為0.可能你也想要-e0用於stderr.

示例程式:

vim t1.c

#includeint main()

sleep(30);

return 0;

}

1.gcc t1.c

2../a.out

另乙個終端上執行

3. stdbuf -o0 ./a.out

gdb除錯正在執行的程序

有時會遇到一種很特殊的除錯需求,對當前正在執行的其它程序進行除錯 正是我今天遇到的情形 這種情況有可能發生在那些無法直接在偵錯程式中執行的程序身上,例如有的程序 只能在系統啟動時執行。另外如果需要對程序產生的子程序進行除錯的話,也只能採用這種方式。gdb可以對正在執行的程式進行排程,它允許開發人員中...

Android殺死正在執行的程序

記得剛開始學習時有乙個killbackgroundprocess packagename 的方法 通過這種方法先獲取到執行程序包名,然後 actmanager.killbackgroundprocesses packagename 殺死他們 殺死後台程序,需要許可權 kill background ...

在Linux中檢視所有正在執行的程序

可以使用ps命令。它能顯示當前執行中程序的相關資訊,包括程序的pid。linux和unix都支援ps命令,顯示所有執行中程序的相關資訊。ps命令能提供乙份當前程序的快照。如果想狀態可以自動重新整理,可以使用top命令。ps命令 輸入下面的ps命令,顯示所有執行中的程序 1 ps aux less n...