![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Вор Характер: Chaotic Neutral Раса: Человек NWN: Маппинг ![]() |
Вообщем, стэнд элоун ни разу не поднимал, следовательно, прошу вашей помощи, то бишь нуб гайд. (IMG:style_emoticons/kolobok_light/smile.gif)
Имеется: линукс (слакварь 10 вроде) модуль Нужно: автономная работа сервака Вопрос: что нужно скачать в каком порядке что куда подоткнуть Ну и скрипты к этому делу, чтобы при зависании или чрезмерном лагании сервака авторестарты (неплохо бы к этому делу присовокупить сохранение местоположения персонажа. (IMG:style_emoticons/kolobok_light/smile.gif) Кроме доброго слова, отблагодарить ничем не смогу. (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал Blaze - Mar 22 2006, 18:43 |
![]() |
![]()
Сообщение
#2
|
|
Level 2 ![]() Класс: Клерик Характер: Lawful Evil Раса: Человек ![]() |
QUOTE Ну с fork() я немного имел дело, но суть так не понял. создает точную копию процесса. Разница между родительским и дочерним процессом в pid, т.е программа может отследить кто родитель а кто потомок по pid. Если pid = 0 то идет ветка потомка, иначе продолжается ветка родителя. На этом принципе построена вся многопоточность в NIX системах. CODE void main() { int pid = fork(); if(!pid) { // pid = 0 - означает, что мы даём команды потомку, т.е. тут исполняется ветка потомка. } else { // pid = PID потомка, != 0, это тело родителя, т.е. тут продолжается ветка родителя. } } если нужно запустить новую программу, то используется exec(...), который полностью затирает текущий процес загружаемой программой. Т.е. fork() в связке с exec() в дочерней ветви запустит новую программу. Сообщение отредактировал alMuk - Apr 2 2006, 16:16 |
![]() ![]() |
Текстовая версия | Сейчас: 27th April 2025 - 09:25 |