The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > UNIX for dummyer Spørgsmål & svar > Svar på ofte stillede spørgsmål > Tips og Tutorials
.
google unix.com



Tips og Tutorials Helpful articles fra vores brugere.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Søndag Solaris10 quickgun Sun Solaris 2 02-16-2009 06:46 AM
Re: crontab i solaris10 gullapalli Sun Solaris 7 05-05-2008 08:29 PM
Afsløring NIC i Solaris10 jimthompson IP Networking 1 12-06-2005 09:35 AM
Afsløring NIC i Solaris10 jimthompson UNIX for Advanced & Ekspertsøgning Brugere 1 12-06-2005 09:34 AM
skabe en tjeneste i init.d Collins UNIX for Advanced & Ekspertsøgning Brugere 2 09-30-2004 11:28 AM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 11-16-2006
Tornado's Avatar
Tornado Tornado is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Nov 2006
Location: Melbourne
Posts: 249
Oprettelse af en Solaris10 service

De generelle trin er:
o Bestem proces for start og stop din tjeneste.
o Oprette et navn til tjenesten, og den kategori denne tjeneste falder ind under.
o Afgøre, om din tjeneste kører flere forekomster.
o Identificere eventuelle afhængighed af forholdet mellem denne service og andre tjenester.
o Hvis et script, der kræves for at starte og stoppe processen, oprette scriptet og placere den i en lokal mappe som / usr / local / svc / metode
o Opret en tjeneste manifest filen til din tjeneste. Denne fil beskriver den service og eventuelle afhængighed relationer. Service manifesterne er trukket ind i repository enten ved at bruge svccfg kommando eller ved opstart tid.
o Indarbejde scripts til SMF bruger svccfg hjælpeværktøj.

Følgende viser et eksempel.
Code:
# vi /usr/local/svc/method/newservice
#!/sbin/sh
#
# Copyright (c) 1995, 1997-1999 by Sun Microsystems, Inc.
# All rights reserved.
#
#ident  "@(#)newservice    1.14    06/11/17 SMI"

case "$1" in
'start')
	/usr/bin/newservice &
	;;

'stop')
        /usr/bin/pkill -x -u 0 newservice
	;;

*0
	echo "Usage: $0 { start | stop }"
	;;
esac
exit 0

# chmod 544 /usr/local/svc/method/newservice

# cd /var/svc/manifest/site
# vi newservice.xml
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
    Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
    Use is subject to license terms.

    pragma ident        "@(#)newservice.xml 1.2     04/08/09 SMI"
-->

<service_bundle type='manifest' name='OPTnew:newservice'>

<service
    name='site/newservice'
    type='service'
    version='1'>

    <single_instance/>
	<dependency
            name='usr'
            type='service'
            grouping='require_all'
            restart_on='none'>
                <service_fmri value='svc:/system/filesystem/local'/>
        </dependency>

        <dependency
            name='newservice'
            grouping='require_all'
            restart_on='none'>
            <service_fmri value='svc:/milestone/multi-user'/>
        </dependency>

        <exec_method
            type='method'
            name='start'
            exec='/lib/svc/method/newservice start'
            timeout_seconds='30' />

        <exec_method
            type='method'
            name='stop'
            exec='/lib/svc/method/newservice stop'
            timeout_seconds='30' />

        <property_group name='startd' type='framework'>
                <propval name='duration' type='astring' value='transient' />
        </property_group>

        <instance name='default' enabled='true' />

        <stability value='Unstable' />

        <template>
                <common_name>
                        <loctext xml:lang='C'>
                                New Service
                        </loctext>
                </common_name>
        </template>
</service>

</service_bundle>
Følgende beskriver de poster i filen:

o Standard Header.
Code:
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM
"/usr/share/lib/xml/dtd/service_bundle.dtd.1">
o Kommentar afdeling.
Code:
<!--
    Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
    Use is subject to license terms.

    pragma ident        "@(#)newservice.xml 1.2     04/08/09 SMI"
-->
o Navnet på tjenesten. Den type (åbenbart) angiver en simpel tjeneste snarere end en milepæl, den pakke, der udbyder tjenesten, og tjenesten navn.
Code:
<service_bundle type='manifest' name='OPTnew:newservice'>
o Service kategori, type, navn og version.
Code:
<service
    name='site/newservice'
    type='service'
    version='1'
o Om flere forekomster af tjenesten vil køre.
Code:
<single_instance/>
o tjenesten model til brug. Punktet viser, at tjenesten vil blive startet af svc.startd. forbigående tjenester er startet én gang og ikke genstartes.
Code:
<property_group name='startd' type='framework'>
                <propval name='duration' type='astring' value='transient' />
        </property_group>
o Hvordan tjenesten startes og stoppes.
Code:
        <exec_method
            type='method'
            name='start'
            exec='/lib/svc/method/newservice start'
            timeout_seconds='30' />

        <exec_method
            type='method'
            name='stop'
            exec='/lib/svc/method/newservice stop'
            timeout_seconds='30' />
o Definer eventuelle afhængigheder for denne tjeneste. Den første post, at newservice kræver filsystem / lokal service.
Code:
	<dependency
            name='usr'
            type='service'
            grouping='require_all'
            restart_on='none'>
                <service_fmri value='svc:/system/filesystem/local'/>
        </dependency>
o Den anden post er sikker på, at din service er forbundet med det multi-bruger milepæl, og at den multi-bruger milepæl kræver denne tjeneste.
Code:
        <dependency
            name='newservice'
            grouping='require_all'
            restart_on='none'>
            <service_fmri value='svc:/milestone/multi-user'/>
        </dependency>
o Oprettelse af instans.
Code:
        <instance name='default' enabled='true' />

        <stability value='Unstable' />
o Oprettelse af oplysninger til at beskrive tjenesten.
Code:
        <template>
                <common_name>
                        <loctext xml:lang='C'>
                                New Service
                        </loctext>
                </common_name>
        </template>
Den nye tjeneste (newservice) skal nu indføres i SMF.
Dette gøres ved at køre svccfg nytte:
Code:
# svccfg import /var/svc/manifest/site/newservice.xml
Når tjenesten er blevet importeret til SMF det skal være synlig ved hjælp af svcs kommando.
Code:
# svcs newservice
STATE		STIME	FMRI
online		8:57:35	svc:/site/newservice:default
#
Det bør også være muligt at manipulere med tjenesten ved hjælp svcadm.
Code:
# svcadm -v disable site/newservice
site/newservice disabled.
# svcs newservice
STATE		STIME	FMRI
disabled	9:07:15	svc:/site/newservice:default
# svcadm -v enable site/newservice
site/newservice enabled.
# svcs newservice
STATE		STIME	FMRI
online		9:17:01	svc:/site/newservice:default
#
Endelig kan du observere, at flerbrugersystem milepæl kræver newservice for at færdiggøre sit krav.
Code:
# svcs -d milestone/multi-user:default
STATE		STIME	FMRI
disabled	8:43:16 svc:/platform/sun4u/sf880drd:default
online		8:43:16 svc:/milestone/name-services:default
online		8:43:33 svc:/system/rmtmpfiles:default
online		8:43:42 svc:/network/rpc/bind:default
online		8:43:46 svc:/milestone/single-user:default
online		8:43:46 svc:/system/utmp:default
online		8:43:47 svc:/system/system-log:default
online		8:43:49 svc:/system/filesystem/local:default
online		8:44:01 svc:/system/mdmonitor:default
online		9:17:01 svc:/site/newservice:default
#

Sidst redigeret af blæselampe; 11-16-2006 på 08:12 PM.. Årsag: at fastsætte ufuldstændige xml tag til service. det afsluttende '>' ikke var til stede
 

Bogmærker

Tags
Solaris

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 09:50 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0