фоновый мониторинг программы C

Возможно, fdinfoдля fd часов может быть полезен:

$ readlink /proc/$(pgrep inotify)/fd/3
anon_inode:inotify
$ cat /proc/$(pgrep inotify)/fdinfo/3
pos:    0
flags:  00
mnt_id: 11
inotify wd:1 ino:357a sdev:700000 mask:fff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:7a35000000000000

sdevкажется комбинацией старших :младших номеров устройств, как видно из выходных данных lsblk, например:

$ lsblk | grep 7
loop0    7:0    0  80.5M  1 loop /snap/core/2462

(Я действительно наблюдал /snap/core/2462.)

Для моего /dev/sda1, то есть 8:1, вывод выглядел так:

pos:    0
flags:  00
mnt_id: 11
inotify wd:1 ino:aae1b sdev:800001 mask:fff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:1bae0a0038e16969

Этого должно быть достаточно, чтобы выяснить, что блокирует размонтирование, даже если в списке нет конкретных отслеживаемых каталогов или файлов.

0
05.11.2019, 03:41
1 ответ

Не уверен, правильно ли я понимаю, что вы хотите, но вы можете перенаправить stderr и stdout в отдельные файлы:./myprogram 2>./stderr 1>./stdoutили в один и тот же файл:./myprogram >./logfile 2>&1

0
28.01.2020, 03:09

Теги

Похожие вопросы