Служба поддержки:
Реквизиты оплаты:





Голосование
Реклама от Google:
112 Часть II. Приложение идей
15.06.2012 14:44
|
Конвейеры представляют собой необычную концепцию даже для опытных пользователей ЭВМ, впервые знакомящихся с UNIX, и требуется время, чтобы ясно понять, каким мощным средством они являются. Если вы обнаружите, что создаете многочисленные файлы для хранения промежуточных результатов, это признак того, что следует воспользоваться конвейерами. Выполнение фоновых команд Если вы хотите выполнить фоновую команду, так чтобы, пока она выполняется, делать еще что-либо, вы просто добавляете к команде символ &, например, $ spell chapter* >t& 7654 $ В данном случае мы применяем программу проверки правописания spell ко всем главам большой книги и переадресовываем вывод — список неправильных слов — в файл t. Система отвечает числом 7654 (каждый раз она выдает новое произвольное число) и выводит командную подсказку, так что можно продолжить работу, пока выполняется фоновая команда. С этого момента мы используем два отдельных процесса внутри ЭВМ: выполнение фоновой команды и наш обычный диалог с оболочкой. Если на машине работают и другие пользователи, они также могут выполнять фоновые процессы в дополнение к своим основным процессам. Таким образом, число одновременно существующих процессов может значительно превышать количество пользователей ЭВМ. Произвольное число 7654 является идентификатором процесса (PID, как его называет отшл) для нашего фонового процесса. Это число однозначно идентифицирует этот процесс среди всех прочих. В большинстве случаев вы будете игнорировать идентификаторы процесса —они больше относятся к сфере Дадли; однако идентификатор процесса ID полезен, если надо «убить» процесс. Специалисты по вычислительной технике не только рисуют деревья корнями вверх, но также имеют свой жаргон: слово «убить» означает остановить выполнение. Предположим, что вы неожиданно решаете не применять проверку правописания к своей книге, поскольку она написана на латыни и, следовательно, программа spell будет отвергать |