The OpenNET Project / Index page

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

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

"Daemon на Java"  
Сообщение от Savva email(ok) on 01-Мрт-07, 17:51 
Можно ли и как написать на Java демона под юникс ?
Где почитать?
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

  • Daemon на Java, newser, 18:27 , 01-Мрт-07, (1)  
  • Daemon на Java, Michelnok, 19:27 , 01-Мрт-07, (2)  
    • Daemon на Java, the_root, 06:09 , 04-Апр-08, (3)  

Сообщения по теме [Сортировка по времени | RSS]


1. "Daemon на Java"  
Сообщение от newser (ok) on 01-Мрт-07, 18:27 
>Можно ли и как написать на Java демона под юникс ?

Можно.

>Где почитать?

Либо в книге по Java, либо в документации.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Daemon на Java"  
Сообщение от Michelnok (ok) on 01-Мрт-07, 19:27 
>Где почитать?

http://jakarta.apache.org/commons/daemon/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Daemon на Java"  
Сообщение от the_root email on 04-Апр-08, 06:09 
Демон?
Не вопрос.

Вот пример из проекта, который я пишу

---------------------------
nata.cpp

...

JNIEXPORT jboolean JNICALL Java_nata__1fork
  (JNIEnv *, jobject){

jboolean result;
pid_t parpid;
          if((parpid=fork())<0)
            {            
             printf("\ncan't fork");
             exit(1);              
            }
          else if (parpid!=0)
          exit(0);      
          setsid();    
        printf ("%d",getpid());
         result=true;

return result;

}

...
----------------------------------
nata.java

    public native boolean _fork();

public nata()
{
    try
    {
    System.loadLibrary("nata");
    }catch (Exception e)
    {
    System.err.println ("ERROR:\nNo such library \"libnata.so\".\nCheck your library path.");
    }

}
...
public boolean fork ()
    {
    boolean res = false;
        try
        {
        res = _fork ();
        }catch (Exception e)
        {
        System.err.println ("ERROR:\nin library libnata.so: no such instruction \"_fork ()\"\ntry open nata.cpp and edit this void");
        res=false;
        }
    return res;
    }
----------------------------------------------
Пример собственно демона:
Server.java

import java.rmi.Naming;
import java.rmi.registry.Registry;
import java.rmi.registry.LocateRegistry;
import java.rmi.RemoteException;
import java.rmi.NotBoundException;
public class Server
{
    public final String SERVER_NAME = "NATA SERVER v0.1";

    public static void main (String[] args) throws Exception  
    {
new nata().fork(); //Тут и создается демон
    
            CS server = new CS(args[0]);
            server.runServer();
        
        

    }
}
-------------------

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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