The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

Go Back   UNIX e Linux Forum > Inizio Forum > UNIX for Dummies Domande & Risposte > Risposte alle domande più frequenti > Suggerimenti e Tutorial
.
google unix.com



Suggerimenti e Tutorial Articoli utili da parte dei nostri utenti.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Domenica Solaris10 quickgun SUN Solaris 2 02-16-2009 06:46 AM
Re: Crontab in solaris10 gullapalli SUN Solaris 7 05-05-2008 07:29 PM
Rilevamento NIC nel Solaris10 jimthompson Reti IP 1 12-06-2005 09:35 AM
Rilevamento NIC nel Solaris10 jimthompson UNIX e avanzata per utenti esperti 1 12-06-2005 09:34 AM
la creazione di un servizio in init.d collins UNIX e avanzata per utenti esperti 2 09-30-2004 10: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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 11-16-2006
Tornado's Avatar
Tornado Tornado is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: novembre 2006
Località: Melbourne
Interventi: 249
Creazione di un servizio Solaris10

Il generale passi necessari sono:
o Determinare il processo di avvio e arresto il vostro servizio.
o Creare un nome per il servizio, e la categoria di servizi rientra in questo.
o Determinare se il servizio è più istanze.
o Individuare le eventuali relazioni di dipendenza tra questo servizio e di qualsiasi altro servizio.
o Se uno script è necessario per avviare e arrestare il processo, creare lo script e posizionarlo in una directory locale, come ad esempio / usr / local / svc / metodo
o Creare un file manifest di servizio per il vostro servizio. Questo file descrive il servizio e le eventuali relazioni di dipendenza. Servizio manifesta sono tirato in repository tramite il comando svccfg o al momento del boot.
o Incorporare gli script in SMF svccfg utilizzando il programma di utilità.

Il seguente mostra un esempio.
Codice:
# 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>
Il seguente descrive le voci nel file:

o Header standard.
Codice:
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM
"/usr/share/lib/xml/dtd/service_bundle.dtd.1">
o Sezione commento.
Codice:
<!--
    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 Il nome del servizio. il tipo (manifesto) indica un semplice servizio, piuttosto che una pietra miliare, il pacchetto che fornisce il servizio, e il nome del servizio.
Codice:
<service_bundle type='manifest' name='OPTnew:newservice'>
o Categoria del servizio, il tipo, il nome e la versione.
Codice:
<service
    name='site/newservice'
    type='service'
    version='1'
o Se più istanze del servizio verrà eseguito.
Codice:
<single_instance/>
o il modello di servizio per l'uso. La voce indica che il servizio verrà avviato da svc.startd. transitoria servizi siano stati avviati una volta e non viene riavviato.
Codice:
<property_group name='startd' type='framework'>
                <propval name='duration' type='astring' value='transient' />
        </property_group>
o Come il servizio è stato avviato e fermato.
Codice:
        <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 Definire le dipendenze per questo servizio. Il primo afferma che l'entrata newservice richiede il filesystem / servizio locale.
Codice:
	<dependency
            name='usr'
            type='service'
            grouping='require_all'
            restart_on='none'>
                <service_fmri value='svc:/system/filesystem/local'/>
        </dependency>
o La seconda voce si assicura che il vostro servizio è associato con il multi-utente, pietra miliare e che il multi-utente, pietra miliare di questo servizio richiede.
Codice:
        <dependency
            name='newservice'
            grouping='require_all'
            restart_on='none'>
            <service_fmri value='svc:/milestone/multi-user'/>
        </dependency>
o Creare l'istanza.
Codice:
        <instance name='default' enabled='true' />

        <stability value='Unstable' />
o La creazione di informazioni per descrivere il servizio.
Codice:
        <template>
                <common_name>
                        <loctext xml:lang='C'>
                                New Service
                        </loctext>
                </common_name>
        </template>
Il nuovo servizio (newservice) deve ora essere importati in SMF.
Questo viene fatto eseguendo il programma di utilità svccfg:
Codice:
# svccfg import /var/svc/manifest/site/newservice.xml
Dopo il servizio è stato importato nella SMF dovrebbe essere visibile con il comando Svcs.
Codice:
# svcs newservice
STATE		STIME	FMRI
online		8:57:35	svc:/site/newservice:default
#
Essa dovrebbe inoltre essere possibile manipolare il servizio utilizzando svcadm.
Codice:
# 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
#
Infine, si può osservare che la pietra miliare multiutente richiede l'newservice al fine di completare le sue esigenze.
Codice:
# 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
#

Ultimo a cura di blowtorch; al 11/16/2006 08:12 PM.. Motivo: fissare incompleto tag XML per il servizio. la chiusura di '>' non era presente
 

Segnalibri

Tag
solaris

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 01:39 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0