The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Вообщем ктонить может мне оказать помошь в таком деле... нео..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Вообщем ктонить может мне оказать помошь в таком деле... нео..."
Сообщение от paran0id emailИскать по авторуВ закладки on 23-Мрт-02, 14:15  (MSK)
Вообщем ктонить может мне оказать помошь в таком деле... необходимо написать демона... самого простого и минимального..  кто нить тут может дать? ну или по мыло можно скинуть.. буду очень признателен.. а то надо написать демона.. и не знаю с чего начать и по чем мануалы смотреть .... а писать надо на С... соответсвенно под линуъх :) хотя бы просто чтобы демон сидел в памямяти... потом записла номер своего процесса в файл и через минутку убилбы сам себя :) вот... пиво вышлю по почте :)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Вообщем ктонить может мне оказать помошь в таком деле......"
Сообщение от Арлекин Искать по авторуВ закладки on 24-Мрт-02, 10:43  (MSK)
Командир !
Прежле всего - Я ничего тебе присылать не буду.
1. Если это задание по работе: ТАКИЕ игрушки ( не демоны вообще, а ИГРУШКА, которая тебе нужна ) пишутся за один перекур. Если ты не можешь сделать это - тебя зря взяли на работу.
2. Если это контрольная работа в интституте - тем более не допросишься :-)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Вообщем ктонить может мне оказать помошь в таком деле......"
Сообщение от David emailИскать по авторуВ закладки on 24-Мрт-02, 23:25  (MSK)
man daemon
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Вообщем ктонить может мне оказать помошь в таком деле......"
Сообщение от Ivan Beriozko emailИскать по авторуВ закладки on 26-Мрт-02, 22:41  (MSK)
>man daemon

Не катит, так как далеко не во всех системах есть.

Демон должен сделать следующее:

- уйти в фон, стать session-leader'ом
- переоткрыть stdin, stdout на /dev/null м stderr на /dev/console (зависит от...), желательно позакрывать все лишние дескрипторы
- сказать chdir("/");, возможно, сказать chroot("куда-то");
- Что-то еще точно забыл.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: Вообщем ктонить может мне оказать помошь в таком деле......"
Сообщение от Арлекин Искать по авторуВ закладки on 27-Мрт-02, 10:10  (MSK)
Если уж говорить о Понятиях, то демон - это процесс исполняющийся в фоновом режиме. Всё остальное: алгоритм работы, активация/остановка, Его и НЕего файлы, стандартный ввод/вывод, отношения с файловой системой и прочая определяются ТОЛЬКО и ИСКЛЮЧИТЕЛЬНО спецификой задачи.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: Вообщем ктонить может мне оказать помошь в таком деле......"
Сообщение от XMan emailИскать по авторуВ закладки on 28-Мрт-02, 01:18  (MSK)
Если не секрет, что значит "стать session-leader'ом" ?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "RE: Вообщем ктонить может мне оказать помошь в таком деле......"
Сообщение от zaa emailИскать по авторуВ закладки on 13-Апр-02, 23:48  (MSK)
>Если не секрет, что значит "стать
>session-leader'ом" ?

man 2 setsid
man 2 getsid
Во FreeBSD man 2 intro, раздел DEFINITIONS

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "RE: Вообщем ктонить может мне оказать помошь в таком деле......"
Сообщение от Highlander emailИскать по авторуВ закладки on 05-Апр-02, 13:51  (MSK)
Ну, ща сляпаем... Не проблема... ;-)

hernya.c
===
#include <stdio.h>
#include <sys/unistd.h>
#include <signal.h>
#include <syslog.h>

void sig_terminate()
{
  syslog(LOG_NOTICE, "Aaaaahhhh... I'm killed... Call to police... ;-)");
  remove("/var/run/hernya.pid");
  exit(0);
}

void sig_hangup()
{
  signal(SIGHUP, sig_hangup);
  syslog(LOG_NOTICE, "Got hangup signal. Reload config file. Hm... But he is not present... ;-)");
}

main()
{
  FILE *f;

  if (fork()) exit(0);

  if ((f = fopen("/var/run/hernya.pid", "wt"))!=NULL)
  {
    fprintf(f, "%d", getpid());
    fclose(f);
  }
  syslog(LOG_NOTICE, "Going to daemon mode an go to Lucifer... ;-)");
  fclose(stdout);
  fclose(stderr);
  stdout = fopen("/dev/null", "w");
  stderr = fopen("/dev/null", "w");
  signal(SIGTERM, sig_terminate);
  signal(SIGHUP, sig_hangup);
  for(;;);

  return 0;
}
===

Запускается - создает /var/run/hernya.pid
Лог при этом, пишется в /var/log/messages
По kill -1 вызывается sig_hangup
Выходит по kill и удаляет /var/run/hernya.pid

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "RE: Вообщем ктонить может мне оказать помошь в таком деле......"
Сообщение от zaa emailИскать по авторуВ закладки on 10-Апр-02, 20:07  (MSK)
>Ну, ща сляпаем... Не проблема... ;-)
>
>
>hernya.c
>===
>#include <stdio.h>
>#include <sys/unistd.h>
>#include <signal.h>
>#include <syslog.h>
>
>void sig_terminate()
>{
>  syslog(LOG_NOTICE, "Aaaaahhhh... I'm killed...
>Call to police... ;-)");
>  remove("/var/run/hernya.pid");
>  exit(0);
>}
>
>void sig_hangup()
>{
>  signal(SIGHUP, sig_hangup);
>  syslog(LOG_NOTICE, "Got hangup signal.
>Reload config file. Hm... But
>he is not present... ;-)");
>
>}
>
>main()
>{
>  FILE *f;
>
>  if (fork()) exit(0);

setsid(); /* session and group leader */

chdir("/");


>  if ((f = fopen("/var/run/hernya.pid",
>"wt"))!=NULL)
>  {
>    fprintf(f, "%d",
>getpid());
>    fclose(f);
>  }
  
   openlog("hernya", LOG_PID | LOG_CONS, LOG_DAEMON);

>  syslog(LOG_NOTICE, "Going to daemon
>mode an go to Lucifer...
>;-)");
  
   closelog();

>  fclose(stdout);
>  fclose(stderr);
>  stdout = fopen("/dev/null", "w");
>
>  stderr = fopen("/dev/null", "w");
>
>  signal(SIGTERM, sig_terminate);
>  signal(SIGHUP, sig_hangup);
>  for(;;);
>
>  return 0;
>}
>===
>
>Запускается - создает /var/run/hernya.pid
>Лог при этом, пишется в /var/log/messages
>
>По kill -1 вызывается sig_hangup
>Выходит по kill и удаляет /var/run/hernya.pid
>


  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "RE: Вообщем ктонить может мне оказать помошь в таком деле......"
Сообщение от mar emailИскать по авторуВ закладки on 18-Апр-02, 13:18  (MSK)
почитай Робачевского. Там очень толково и подробно объясняется.
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру