Хотя я разумно привык к UNIX и давно программировал на нем, я не привык к манипулированию файлами.
Я знаю, что дескрипторы файлов 0/1/2 стандартны ви ошибка.Мне известно, что всякий раз, когда процесс открывает файл, ему присваивается дескриптор с наименьшим значением, которое еще не используется - и я понимаю некоторые вещи, связанные с использованием dup / dup2.
Я запутался в файледескрипторы между процессами, хотя.Есть ли у каждого процесса свои собственные 0/1/2 дескрипторы для in / out / error или эти 3 дескриптора совместно используются всеми процессами?Почему вы можете запускать 3 программы в 3 разных оболочках, и все они получают только свои программы, если они совместно используются?
Если после запуска две программы откроют myfile.txt, будут ли они использовать дескриптор файла № 3или вторая программа будет использовать # 4, так как было взято 3?
Я знаю, что задавал один и тот же вопрос несколькими способами, но я просто хотел быть ясным.Чем больше деталей, тем лучше :) У меня никогда не было проблем с этими вещами во время программирования, но я читаю книгу UNIX, чтобы понять больше, и я внезапно понял, что это сильно смутило меня, и я никогда не думал об этом вподробно до.