Debian
如何在 Linux 中查找無響應的應用程序
我希望將監視腳本從 Windows(Powershell)遷移到 Linux(Shell 腳本)。我在 Windows 中檢查的一件事是應用程序是否“不響應”。(例如打開任務管理器,它顯示“正在執行”或“無響應”)
Linux 中是否有等價物,如果有,我該如何找到它?我一直在網上搜尋,但找不到任何關於如何找到它們的資訊,只有當應用程序沒有響應時該怎麼辦。
在linux中,程序可以處於不同的狀態:
- Running(R):這是程序處於執行或準備執行的狀態。
- 可中斷(S):此狀態是程序的阻塞狀態,它等待事件或來自另一個程序的信號
- Uninterruptible(D):也是阻塞狀態。在等待硬體狀態並且無法處理信號的特定條件下,程序被迫停止。
- Stopped(T):一旦程序完成,就會出現這種狀態。這個過程可以重新開始
- Zombie(Z):在這種狀態下,程序將被終止,程序表中仍會存在資訊。
您可以為狀態執行“ps”命令和“grep”。例如:
ps aux | awk '{if ($8 ="D") print}'