ディレクトリの上に誰かがいるとbusyといわれて、umountできない。
そんな時、どのプロセスがターゲットのディレクトリにいるのかを調べるスクリプト。
使用時はroot userで使う事が条件になる。
#! /usr/bin/env python
#-*- coding: utf-8 -*-
import os
import re
def search_cwdall():
dirs = os.listdir('/proc')
proc_dir = re.compile('^\d*$')
dirs = filter(proc_dir.match, dirs)
for pid in dirs:
path_cwd = os.path.join('/proc', 'pid', 'cwd')
try:
path = os.path.realpath(path_cwd)
except OSError, err:
print str(err)
continue
yield pid, path
if __name__ == '__main__':
for pid, path in search_cwdall():
print pid, path
もしかしたらもっとスマートな方法があるかもしれない。
0 件のコメント:
コメントを投稿