Debian

如何在 Linux 中查找無響應的應用程序

  • April 8, 2020

我希望將監視腳本從 Windows(Powershell)遷移到 Linux(Shell 腳本)。我在 Windows 中檢查的一件事是應用程序是否“不響應”。(例如打開任務管理器,它顯示“正在執行”或“無響應”)

Linux 中是否有等價物,如果有,我該如何找到它?我一直在網上搜尋,但找不到任何關於如何找到它們的資訊,只有當應用程序沒有響應時該怎麼辦。

在linux中,程序可以處於不同的狀態:

  1. Running(R):這是程序處於執行或準備執行的狀態。
  2. 可中斷(S):此狀態是程序的阻塞狀態,它等待事件或來自另一個程序的信號
  3. Uninterruptible(D):也是阻塞狀態。在等待硬體狀態並且無法處理信號的特定條件下,程序被迫停止。
  4. Stopped(T):一旦程序完成,就會出現這種狀態。這個過程可以重新開始
  5. Zombie(Z):在這種狀態下,程序將被終止,程序表中仍會存在資訊。

您可以為狀態執行“ps”命令和“grep”。例如:

ps aux | awk '{if ($8 ="D") print}'

引用自:https://unix.stackexchange.com/questions/248526