LINUX.ORG.RU

Немного о forced umount


0

0

1) Есть программа, которая создаёт на монтируемом разделе каталог, в нём некий файл, пишет в него всякую чушь и изменяет свою рабочий каталог на созданный.
2) Есть пользователь, который с помощью команды "umount -F /mnt2" размонтирует этор раздел.
3) Как я понял, в результате этого действия программе, а точнее процессу, отправляется сигнал SIGSEGV.

Вопрос: почему при размонтировании не срабатывает установленный обработчик сигнала (он отзывается только на "kill -SIGSEGV [pid]"), и что происходит с открытыми файлами(через функцию open).

Вот что я делаю:

static void sig_hndlr(int signo)
{
...
}

main()
{
struct sigaction act;

act.sa_handler=sig_hndlr;
sigfillset(&act.sa_mask);
act.sa_flags=0;
if (sigaction(SIGSEGV, &act, NULL) < 0)
exit(0);

...
}

★★

Где Вы увидели в Linux'овом umount'е опцию -F? Есть опция -f, но она работает только для nfs, и IMHO в этом случае процесс, ждущий завершения файловой операции возвращается из syscall'а с ошибкой EIO.

pooh
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.