cmd1 | CMD2當右側終止時,使管道的左側終止
我怎樣才能得到一個管道的發送命令時,管道的接收命令終止終止?
cmd1處理來自文件的數據並將其輸出傳送到cmd2。
CMD2臨危CMD1的輸出,並做一些自己的處理並輸出到一個文件中。它有一個選項,可以在指定的字節數被寫入後終止。
我遇到的問題是,CMD1繼續執行,直到處理完所有的文件中的數據是處理,即使CMD2已經終止。
這可能需要很長時間並減慢我的shell腳本。
的我在做什麼具體的解釋:
「超級代理」網絡探測設備獲取流量,並將其在文件存儲在6個小時的環形緩衝區。這些是一些格式或其他格式的原始捕獲文件。專有命令可用於根據時間範圍構建pcap文件。這是從上述CMD1和被稱爲「buildpcap」
6小時流量可以產生一個非常大的(200GB +)文件。
我要限制總PCAP到10GB,並分裂成1GB的文件部分。
我水溼使用buildpcap限制文件大小也不拆分成多個部分的文件的輸出,但我可以輸出到stdout而不是文件,並將其管到一個命令,該命令可以;在這種情況下,wireshark的dumpcap,從上面是cmd2。
我想dumpcap生成10個1G文件,然後終止。它這樣做,但buildpcap保持運行的時間signficant量
是我使用的實際命令如下:
buildpcap --feed 3 --start-datetimed $開始--end,日期時間$結束--stdout | dumpcap -i -w ./tmp.pcap -a files:10 -b文件大小:10000000
我希望這是有道理的。
你能否簡要解釋你的cmd1和2做了什麼?如果在cmd2(awk)結束時嘗試'yes | awk'NR == 100 {exit}'',則'yes'命令也會結束。 – Kent