我在我的 Raspberry Pi 4 上使用專有應用程式。
該應用程式有一個錯誤,即在一定時間后它會慢到爬行。它并沒有完全崩潰,它只是開始表現不佳。解決方法是終止行程并重新打開它。
應用程式控制臺輸出中有一個標志,我可以使用它來確定問題是否發生:“處理影像所用的時間 --249”(249 是它報告的最大值)。
是否可以設定一個 .sh 檔案來監視該行程的 strace,然后終止該行程并重新打開它?我已經做了很多谷歌搜索,但我的深度不夠。
我不希望將 strace 寫入文本檔案,然后從該檔案中讀取。應用程式的控制臺輸出每秒更新 60~ 次,這會很快損壞 SD 卡。
我的直覺是遍歷 strace 中最近的 10 個條目并查找字串匹配,但我無法弄清楚我們的語法,甚至不可能。
uj5u.com熱心網友回復:
一個相當幼稚的 bash 包裝器怎么樣?由于您正在使用strace并且我們知道它在寫入管道時表現良好(當管道停止讀取時它將退出)您應該能夠執行以下操作:
#!/bin/bash
while strace -vF app 2>&1 | grep -q -m1 -- '--249'
do
echo restart
sleep X
done
X將in調整sleep為合適的值。
就我個人而言,我會要求專有應用程式的制造商解決他們的問題;)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/532832.html
標籤:linux重击跟踪
