fs = {}
cmd=['lsblk', '-o', 'NAME,KNAME,TYPE,FSTYPE,MOUNTPOINT', '-J']
- result = subprocess.Popen(cmd, stdout=subprocess.PIPE)
- result.wait()
- if result.returncode != 0:
+ try:
+ proc = subprocess.run(cmd, capture_output = True, text = True, check = True)
+ except Exception as e:
+ print(e)
+ return fs
+ if proc.returncode != 0:
return fs
- sarray = [x.decode(sys.stdout.encoding) for x in result.stdout.readlines()]
- output = ' '.join(sarray)
- bdevdata = json.loads(output)
# The lsblk output had better be in disks-then-partitions order
+ bdevdata = json.loads(proc.stdout)
for bdev in bdevdata['blockdevices']:
lastdisk = bdev['kname']
find_xfs_mounts(bdev, fs, lastdisk)