ディレクトリの上に誰かがいると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 件のコメント:
コメントを投稿