瀏覽代碼

gpt draft

root 2 年之前
當前提交
2f02a3a81d
共有 1 個文件被更改,包括 34 次插入 和 0 次删除
  1. 34 0
      main.py

+ 34 - 0
main.py

@@ -0,0 +1,34 @@
+import subprocess
+import re
+import time
+
+disks = ['sda', 'sdb', 'sdc', 'sdd']  # List of disks to monitor
+
+while True:
+    cmd = "iostat -xk 1 2 " + " ".join(disks)
+    process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+    output, _ = process.communicate()
+
+    lines = output.decode().split('\n')
+
+    disk_info = {}
+    current_disk = ''
+
+    for line in lines:
+        if line.startswith('Device'):
+            headers = re.findall(r'\S+', line)
+        elif line.startswith(tuple(disks)):
+            io_data = re.findall(r'\S+', line)
+            if len(io_data) >= len(headers):
+                current_disk = io_data[0]
+                disk_info[current_disk] = {headers[i]: io_data[i] for i in range(1, len(headers))}
+
+    for disk in disks:
+        if disk in disk_info:
+            read_bytes = disk_info[disk].get('rkB/s', '0.00')
+            write_bytes = disk_info[disk].get('wkB/s', '0.00')
+            if float(read_bytes) > 0 or float(write_bytes) > 0:
+                print(f"R/W activity detected on /dev/{disk}:")
+                print(f"Read bytes: {read_bytes}, Write bytes: {write_bytes}")
+
+    time.sleep(1)  # Adjust the frequency of checking disk activity (1 second in this example)