ЗНАЙ ИНТУИТ, Лекция, Управление на процеси
Взаимодействие на процеси
Процесите взаимодействат помежду си, като използват различни механизми. Процесите могат да прехвърлят данни един към друг асинхронно или синхронно, да контролират достъпа до други системни ресурси.
Има три независими потока от данни, свързани с всеки процес: стандартен вход (stdin), стандартен изход (stdout) и стандартно съобщение за грешка (stderr). По подразбиране и трите потока са свързани с терминала, от който се стартира процесът (стандартен вход - от клавиатурата, извеждане на данни и грешки - към екрана). Стандартният вход се нарича още входен поток, а стандартният изход също се нарича изход.
Вътрешните файлови дескриптори се присвояват на всеки от тези потоци: входен поток - 0, изходен поток - 1, поток от съобщения за грешки - 2. Вътрешен файлов дескриптор съществува само в рамките на процеса, с който е свързан. Вътрешните дескриптори в различните процеси имат еднакви номера, но те са физически различни вътрешни дескриптори и всеки процес има свои собствени вътрешни дескриптори .
Пренасочване на потока
Потокът от данни, свързан с процес, може да бъде пренасочен към файл или друг поток от данни. Например, ако искате програмата за търсене да посочи имената на файловете във файла с имената, а не в терминала, ще изпълните командата
Символът под прав ъгъл> означава пренасочване на изхода на работеща програма към файл. Когато използвате тази конструкция, файлът с имената ще бъде създаден и ако вече съществува, ще бъде унищожен и ще бъде създаден нов файл със същото име и ново съдържание.
За да добавите изход на програмата в края на файла, използвайте "двете правоъгълни скоби" >>
В този случай файлът с имена ще бъде създаден, ако не съществува, а ако съществува, изходът за търсене ще бъде добавен в края на файла. .
Възможно е да се пренасочи текст от файл към входящ поток.
Понякога е необходимо да се изпращат на потребителите не съвсем същите писма, а писмо, където стандартният текст се смесва с лични съобщения и конкретни подробности. Тогава пренасочването на потока през конструкцията „документ тук“ идва на помощ.
Това прави възможно пренасочването на входа към процеса не от файл, а директно от командния ред (или тялото на скрипта):
Посочване на икони в текста Таблица 9.2. POSIX 1.1 Сигнали
В допълнение към командата pkill, системният администратор може да намери удобната команда pgrep, която замества конструкцията
На Solaris можете да използвате по-късата команда, за да получите същия резултат
Тръби и контакти
Процесите могат да комуникират помежду си и UNIX предоставя механизми за това. На първо място, това са тръби и контакти, които се използват за междупроцесна комуникация, т.е. за прехвърляне на данни между едновременно изпълнявани процеси.