ПредишенСледващото

Как демоните, процесът на първоначален и като процесите се раждат потомци

Ако някога сте работили в Unix системи, най-вероятно чувал понятието "Демонът". В тази статия искам да обясня какви демони и начина им на работа, още повече, че както подсказва и името им, че това е нещо лошо.

Като цяло, демон - е процес на фона, който не е свързан към терминала, което се стартира. Но те, как те се отнасят до други процеси, как работят те? Това е, което ние ще говорим, но нека първо да разберете как процеса на първоначален и как раждането на новите процеси.

Как процеса Init

Да започнем с това се говори за процеса на първоначален. известен също като PID 1 (защото ID винаги е равно на 1). Този процес се създава веднага при стартиране, т.е. всички други процеси са негови потомци.

Как разклоняване процеси

Единственият начин да се създаде нов процес в Unix - да копирате съществуваща. Този метод, известен като бифуркация или разклонени, включва създаване на процес на копиране в едно дете и EXEC система покана за започване на новата програма. Ние използвахме думата "разклоняващите" като вилица - това е истински метод за Unix в C стандарт библиотека, която създава нов процес по този начин. Процесът изисква команда вилица се счита за майка на творението. Процесът на дете е почти идентичен с родителя: различават само лична карта за самоличност родител, както и някои други точки.

В съвременните дистрибуции, Unix и Linux, можете да създадете процеси, както и други начини (например, като се използват posix_spawn), но най-много от този процес е създаден по този начин.

Сега, когато сте научили за традиционния смисъл на понятието "вилица", става ясно защо една и съща концепция се използва на GitHub. Но аз отделям - обратно към нашите демони!

Как демоните

Схема демон на Максуел

Преди да се рови в работата на демони, нека да разберете къде името идва. Терминът "Демонът" произхожда от проекта MAC. което от своя страна получава името си от демон на Максуел - измислен създание от мисловен експеримент, който сортира молекулите с пост. Демонът Думата идва от гръцката демон. е свръхестествено същество, което е непрекъснато работи във фонов режим и не е добро или лошо (за разлика от обичайните съвременни стойности). Това означава, че терминът "Демонът" (в Unix-процес смисъл) всъщност е слязъл от измислен свръхестествени същества.

Демоните - е фон процес работи отделно от терминала и е почти винаги, започнати от процеса на първоначален; обикновено те правят такива неща, като исканията на мрежата, работата на хардуер и други видове работни места ", изчакаме и да видим".

Демоните се появяват по два начина. Те могат да се създаде процес първоначален, или те се случват в следната ситуация: в процеса на създаване на тяхното потомство и незабавно прекратено. Първият случай е ясно, но какво се случва във втория: тъй като процесът на първоначален е родител на тези демони?

Когато създавате дете процес и след това да "убие" на родителите си, детето става сирак процес (да не се бърка с процеса на зомби. Например, един потомък на която е приключило, но все още чака, когато родителят ще прочете своето излизане статус) , По подразбиране, ако процесът става сирак, неговият "приемен" родител става Init. Това е всичко, което прави уникален демони!

заключение

Като цяло, демони - това е една много проста концепция за разбиране, но и да ги разбират напълно, че трябва да знаеш какво първоначален-процеса и са разположени процеси разклоняващи.

Подкрепете проекта - споделете линка, благодаря!