我正在爲RSSI(我的興趣是探測請求和數據null,時間戳和源MAC地址)嗅探WiFi數據包,並且我需要將結果保存在pcap
文件中以供進一步處理。在嵌入式Linux中安排文件操作
問題是我需要將信息分成多個不同的文件,每小時創建一個文件。
我不知道如何檢查我的程序中的運行時間,除了多線程(while(1)
,sleep()
和檢查clock()
函數)。我使用的是Ubuntu,但目標平臺是安裝了Linux OpenWrt的路由器。
我的第一場音樂會是交叉編譯+ pthread.h
,thread.h
或其他的問題,或者OpenWrt應該沒有問題?
問題的另一面 - 使用多線程處理這個愚蠢的問題不是太複雜嗎?
也許還有其他解決方案? (即一個小的僞多線程解決方案,或一些更簡單的技巧)?
據我所知,cron可以使用一些shedule來運行sh腳本,但是如何讓我的程序開始在下一個文件(file0.pcap - > file1.pcap)中寫入? – Ralor
這是您必須實施的邏輯。我能想到的最簡單的方法是創建一個文件,例如'/ var/tmp/startnew',並讓cron腳本每隔一小時寫一個'1'。在你的主程序的每一次寫入中,你都會檢查這個文件是否包含值'1'。如果確實如此,則向其寫入'0'並開始一個新文件。 但當然,這不是理想的解決方案,只是一個可以讓你開始的最小努力解決方案。如果你有很多寫入文件,讀取額外的文件將是一個很大的開銷。在這種情況下,您應該使用其他技術。 – bosnjak
這是我的主要問題,我需要在一小時後直接停止寫入文件,而不是在寫入前進行檢查。 – Ralor