Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.sao.ru/precise/Laboratory/Publications/2000/MIDAS/Lect_N2/node10.html
Дата изменения: Mon Jan 31 12:20:36 2000
Дата индексирования: Sat Sep 11 22:10:39 2010
Кодировка: koi8-r

Поисковые слова: плато
Проблема отцов и детей и ее приложение к команде cd next up previous
Next: Системные команды, существующие всегда Up: MIDAS и операционная система Previous: Перенаправление ввода-вывода

Проблема отцов и детей и ее приложение к команде cd

Детального объяснения, с моей точки зрения, требует часто задаваемый пользователями вопрос: "Почему не работает UNIX-команда cd, выполненная из-под MIDAS как, например, > $ cd ../?" Она работает -- просто Вы этого не видите. Дело в том, что этот вопрос касается известной проблемы отцов и детей, перекочевавшей из жизни в операционную систему. Исполнение любой команды в UNIX -- это порождение процесса-потомка процессом-отцом (вообще, вся система как совокупность одновременно работающих программ порождается отцом всех процессов). После того как процесс-сын выполняет свое предназначение, он завершает работу, извещая отца только о том, что он выполнил/не выполнил свое задание. Исполняя любую UNIX-команду из-под MIDAS, Вы порождаете процесса-сына, имея MIDAS-монитор как процесса-отца. Сын благополучно выполняет команду перехода, о чем и сообщает отцу. И завершается. А отец за сына не в ответе -- он остался в старом состоянии. Так вот, чтобы встряхнуть отца и перейти в другую директорию, существует специальная MIDAS-команда CHANGE/DIR -- пользуйтесь ей, и все будет работать.

Замечание :Достаточно продвинутые пользователи MIDAS начинают через некоторое время эмулировать все UNIX-команды в MIDAS-окружении. Скажем, они создают новую MIDAS-команду cd:
> DEFINE/COM cd CHANGE/DIR
После этого команда > cd ../midwork сработает. Но обратите внимание, что это не команда > $cd ../midwork!



Willy Kniazev
2000-01-31