![]() |
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| High Level Programmering Post spørsmål om C, C + +, Java, SQL og andre programmeringsspråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Hvordan skrive Pro * C daemon prosessen bruker multithreading? | kachiraju | UNIX for Dummies Spørsmål og svar | 0 | 07-02-2008 02:51 |
| daemon prosessen | suresh_rupineni | Linux | 1 | 08-21-2006 03:14 |
| zombie daemonen prosessen! | rish2005 | UNIX for Advanced & ekspertbrukere | 1 | 11-25-2005 09:59 |
| Hva er en daemon prosessen | Kanu77 | High Level Programmering | 6 | 03-08-2002 10:47 |
| Daemon prosessen | s_chordia | High Level Programmering | 2 | 01-17-2002 02:09 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
|||||
|
Daemoner kan ha noen ppid og en ppid av 1 er ingen garanti for at du er en demonen. Jeg liker den åpne / dev / tty idé. Det er bærbare. Men selvfølgelig kan mislykkes av andre årsaker. Ingen har gjort en
rm / dev / tty på noen av systemene? Også denne prosessen kan være ute av fd's osv. Likevel er det den beste måten. Avhengig av Unix-system, kan det være en ikke-bærbare måte. Få kildekoden for ps og se hvordan det finner dette ut. Men det er mye problemer med å unngå å åpne / dev / tty. Jeg vil gå med det. |
|
||||
|
Jeg ville bygge på en logisk sammenheng, slik at du kan være sikker. For eksempel SIGHUP er en ikke-null vektor når en prosess starter. Det er lurt å null vektoren etter ens gaffel / exec (i barnet, selvsagt), åpenbart for å unngå ydmykelse av å ha en 'hyggelig demonen code avslutte når startbilde-øvre opphører. Så, så, test kunne "er min SIGHUP vector NULL?" og behandlet deretter. Bruk din OS anlegg til gode formål, og la dem bidra til å identifisere den sammenheng også.
Sist endret av fsahog; 07-18-2008 på 09:25.. Begrunnelse: For å gjøre det bedre |
|
||||
|
Code:
Can a daemon process have a ppid other than 1 ? Hva med dette - å se for maskering tillatelser? Jeg vet det er ikke en vanlig praksis som må følges før daemonizing en prosess men mer en praksis. |
|
|||||
|
Sitat:
Faktisk noe som skjer for å oppfylle disse kriteriene er daemoner. Ingen kontrollerende terminal betyr prosessen er en demonen. Om en prosess er et demonen har ingenting å gjøre med ppid eller hvilke signaler det er ignorerer. Med de fleste versjoner av UNIX når du logger deg inn på systemet konsollen, den ppid av login shell vil være 1. Før økningen av TCP / IP på ppid hvert login shell ble 1. Ingen av disse login shells er daemoner, de har alle styrende terminaler. Du fortsatt kan ha andre Getty linjene i / etc / inittab. Hver slik linje er et potensielt interaktivt shell med ppid av 1. Men de fleste andre barn spawned by init ikke åpner ttys og forbli daemoner. Når prosessen avsluttes, sine barn bli eid av init. Dette ikke påvirke om ikke disse barna daemoner. Noen er. Andre ikke. cron ikke har pid av 1. Hver gang cron spawns en prosess, det nye prosessen er en demonen. Hver av disse daemoner vil ikke ha en ppid av 1 ... deres ppid skal peke til cron. Når du trenger å vite om en prosess er et demonen eller ikke, det ppid er fullstendig irrelevant. Daemoner og ikke-daemoner kan ha en ppid av 1. Daemoner og ikke-daemoner kan ha en ppid unntatt ett. Daemoner noen velger å ikke overse sighup. Både inetd og init selv er eksempler på daemoner som lytter til en HUP. Når de får en, de omkonfigurere selv. Men det er mer vanlig for en demonen skal ignorere HUP. Det er virkelig det svært enkelt. Daemoner har ingen kontrollerende terminal. Non-daemoner har kontrollerende terminal. Eksempler på ting som ikke har peiling på en prosess' demonen status ... pid ppid signal mask |
|
||||
|
Code:
Daemons have no controlling terminal. Non-daemons have a controlling terminal. ppid spiller ingen rolle. Men hva om en prosess som startet som nohup prosessen og løsrevet fra kontrollerende terminal? Det har ingen terminal vedlagt, jeg tror ikke det kan kalles som en demonen. |
|
|||||
|
Sitat:
Men hvis det er løsrevet fra det kontrollerende terminal, er det en demonen. Dette er akkurat hva som skjer når du starter cron eller inetd fra kommandolinjen. Siden du ikke tror at prosesser uten kontroll terminaler er daemoner, hva er din definisjon av en demonen? |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|