25. september 2002 - 08:58Der er
11 kommentarer og 3 løsninger
Kan et java program kører i baggrunden og stop med andet prog?
Hej Jeg vil lige hører om der er muligt at køre et java program i baggrunden? Dvs. Hvis jeg starter den i en konsol, så startes programmet, men holder ikke konsollen? Og... Kan det lade sig gøre at stoppe det med et andet lille java program? Altså, kan jeg kommunikere med et javaprogram fra et andet via f.eks streams ?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Det kan lade sig gøre på linux at have et program kørende i "daemon-mode", hvordan ved jeg ikke helt, men man kan lægge det ind som en service der starter op sammen med linux og kører i "baggrunden" (daemon-mode).
Hvis du vil stoppe det med et andet program er du nødt til at give det besked via "netværket". Du bruger altså en socket-connection til at sende en besked til 127.0.0.1, som er localhost - den samme maskine. Denne teknik anvendes i server-applikationer, hvor du starter serveren med kommandoen -start og lukker ned med -stop. Faktisk starter man en ny instans af serveren, som så sender en besked til den allerede kørende instans om at lukke ned (via en Socket eller DatagramSocket).
Da du kobler streams på socket's, er det måden at gøre det på med streams :)
hvis du tænker på at lave noget i /etc/rc3.d/ som starter når du lander på runlevel 3 kører det ikke nødvendigvis som deamon af den grund, men det kører i baggrunden.
Jeg forstår ikke helt hvad i mener.. Jeg har prøvet at sætte alle mine tråde til "setDeamon(true)" men så afslutter programmet med det samme, og det kører ikke i baggrunden. Jeg vil gerne have jeg kan starte og stoppe mit program både under startup, og i en remote shell. Hvis jeg starter den i en remote shell, f.eks SSH, afslutter programmet når jeg afslutter shell'en. Hvordan gør jeg det?
Når du kører metoden "setDeamon(true)" på en tråd betyder det, at applikationen ikke venter på den. Dvs. at hvis ikke der er andre almindelige tråde (som ikke kører i deamon-mode) lukker applikaitonen ned.
"setDeamon(true)" er faktisk slet ikke noget du skal bekymre dig om. Metoden vedrører enkelte tråde, mens det du vil vedrører en hel proces.
Hvilket styresystem er det helt præcist du bruger i denne sammmenhæng??
Som disky nævner skal du have din applikation ind under "/etc/rc3.d/", så den bliver startet op og kører i baggrunden. Hvordan ved jeg ikke, der må du kigge på http://www.sslug.dk
Hvad jeg ved om linux ligger på et noget generelt niveau :)
Ja beklager, kan ikke rigtig bidrage med mere :) Min viden om driften i Linux er begrænset til det generelle...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.