iotop
é o que eu recomendaria primeiro. Você pode usar o sinalizador -o
para ser mais preciso. Tenha em mente que se você estiver usando o CentOS e uma das versões mais recentes do kernel, você terá que editar a seção abaixo de /usr/lib/python2.7/site-packages/iotop/data.py
:
def parse_proc_pid_status(pid):
result_dict = {}
try:
for line in open('/proc/%d/status' % pid):
if not line.strip(): continue
key, value = line.split(':\t', 1)
result_dict[key] = value.strip()
except IOError:
pass # No such process
Adicione a linha que diz: if not line.strip(): continue
.
Você também pode usar fuser
para mostrar os processos que acessam um arquivo com:
fuser -v -m <file>
Ele simplesmente não mostra se o processo está sendo gravado ou não.
Você também pode usar lsof
no próprio arquivo ou inserindo no grep para o nome do arquivo ou processo.
lsof /path/to/file
lsof | grep <filename>
lsof | grep <process>
Para obter exatamente o que você deseja, você precisará usar uma combinação, a menos que já conheça o arquivo que está sendo gravado e deseje ver o processo que está sendo gravado nele.