Discussione:
debian: comando service?
(troppo vecchio per rispondere)
unknown
2006-08-22 13:32:34 UTC
Permalink
Ciao ragazzi,
vorrei chiedervi come devo fare, con debian, a visualizzare lo stato
di un servizio.
Mi spiego meglio:
in rh esiste il comando

service nomeservizio

da cui posso sapere lo stato, fermare o far ripartire il servizio

in debian esiste qualcosa di simile?
Giuseppe Della Bianca
2006-08-22 14:30:20 UTC
Permalink
Tiziano wrote:

]zac[
Post by unknown
service nomeservizio
Che è della red hat.
Post by unknown
da cui posso sapere lo stato, fermare o far ripartire il servizio
in debian esiste qualcosa di simile?
/etc/init.d/nomedelservizio (o qualcosa di simile).

P.S. man service

]zac[
The SCRIPT parameter specifies a System V init script, located
in /etc/init.d/SCRIPT.
]zac[
roberto
2006-08-23 17:42:51 UTC
Permalink
Giuseppe Della Bianca wrote:
-cut-
Post by Giuseppe Della Bianca
Post by unknown
da cui posso sapere lo stato, fermare o far ripartire il servizio
in debian esiste qualcosa di simile?
/etc/init.d/nomedelservizio (o qualcosa di simile).
Di cui, per una buona parte, non potrai sapere lo stato. :-)

I comandi minimi dei daemon sono, solitamente:

start|stop|restart|reload|force-reload

Solo alcuni hanno anche il parametro status.
--
|Save our planet!
Ciao |Save wildlife!
roberto |For your E-MAIL use ONLY recycled Bytes !!
|roberto poggi ***@softhome.net
Giuseppe Della Bianca
2006-08-24 11:56:33 UTC
Permalink
roberto wrote:

]zac[
Post by roberto
Solo alcuni hanno anche il parametro status.
???

Non ho trovato nessun servizio che non avesse un comando per richiedere lo
status, e poi service di rh si limita a lanciare gli script in init.d con
il parametro status, visto che non può sapere che cosa fa quello script e
che istruzioni servono per avere lo status del servizio.
roberto
2006-08-24 12:18:49 UTC
Permalink
Post by Giuseppe Della Bianca
]zac[
Post by roberto
Solo alcuni hanno anche il parametro status.
???
Non ho trovato nessun servizio che non avesse un comando per richiedere lo
status, e poi service di rh si limita a lanciare gli script in init.d con
Questa e' la mia debian:

proliant:/etc/init.d# grep -l status *
fiaif
hdparm
hotplug
mysql
xprint
proliant:/etc/init.d# ls
README fam makedev samba
acct festival mdadm screen-cleanup
apache fiaif mdadm-raid sendsigs
atd firehol module-init-tools setmixer
bastille-firewall gdomap modutils setserial
bluez-utils gnustep_sndd mountall.sh shaperd
boa halt mountnfs.sh single
bootclean.sh hdparm mountvirtfs skeleton
bootlogd hostname.sh mysql slpd
bootmisc.sh hotplug networking ssh
checkfs.sh hotplug-net nfs-common stop-bootlogd
checkroot.sh hwclock.sh nfs-kernel-server sudo
clamav-daemon hwclockfirst.sh ntop sysklogd
clamav-freshclam ifupdown nviboot timidity
console-cyrillic ifupdown-clean oss-preserve ulogd
console-screen.sh inetd portmap uml-utilities
cpqarrayd initrd-tools.sh ppp umountfs
cron iptables pppd-dns umountnfs.sh
cupsys irqbalance privoxy urandom
dbus-1 kdm procps.sh vsftpd
dhcp keymap.sh proftpd webmin
dhcp3-server klogd raid2 xdm
dictd libdevmapper1.00 rc xfree86-common
dns-clean libdevmapper1.01 rcS xfs
etc-setserial lm-sensors reboot xprint
exim lpd rmnologin
proliant:/etc/init.d#

Come vedi, il parametro status c'e' solo in pochissimi.

In compenso, si puo' giocare con un find di: nomeservizio.pid in /var/run
per vedere se sono attivi:

proliant:/etc/init.d# find /var/run -name apache.pid
/var/run/apache.pid

Ora, come compito a casa, provate a fare uno scriptino che cerchi
se il servizio e' attivo cercandolo in /var/run. :-P


HINT: variabile PIDFILE nello script in /etc/init.d
--
|Save our planet!
Ciao |Save wildlife!
roberto |For your E-MAIL use ONLY recycled Bytes !!
|roberto poggi ***@softhome.net
Giuseppe Della Bianca
2006-08-24 13:24:39 UTC
Permalink
roberto wrote:

]zac[
]zac[

Da me:

cd /etc/init.d/

ls | wc -l
66

grep -l status * |wc -l
62

E questo vale, con un buon grado di sicurezza (ho toccato con mano solo
dalla RH 7.1 in su), per tutte le RH, MDK, fedora e forse suse.


Anche perché sapere che un processo attivo non equivale a saperne il suo
stato (che di solito è conosciuto solo dal processo stesso), anche se in
effetti spesso lo status coincide con la verifica del PID.




P.S. Una eccezione sono i servizi avviati dal servizio xinetd/inetd, il quel
caso service è utile per raccogliere le informazioni in un punto unico.
roberto
2006-08-24 14:47:50 UTC
Permalink
Giuseppe Della Bianca wrote:
-cut-
Post by Giuseppe Della Bianca
grep -l status * |wc -l
62
E questo vale, con un buon grado di sicurezza (ho toccato con mano solo
dalla RH 7.1 in su), per tutte le RH, MDK, fedora e forse suse.
Non lo metto in dubbio.

Ma non siamo su ico.dibattiti. ;-P

L'amico aveva specificato debian.
Che piaccia o no, la fase di init e' proprio una delle cose che cambiano
da distribuzione a distribuzione, e debian ha gli script fatti in quel
modo.
Post by Giuseppe Della Bianca
Anche perché sapere che un processo attivo non equivale a saperne il suo
stato (che di solito è conosciuto solo dal processo stesso), anche se in
effetti spesso lo status coincide con la verifica del PID.
Beh, direi che al 99% il fatto che il servizio giri e' gia' un buon
sintomo che lo status sia *running*.
--
|Save our planet!
Ciao |Save wildlife!
roberto |For your E-MAIL use ONLY recycled Bytes !!
|roberto poggi ***@softhome.net
Giuseppe Della Bianca
2006-08-25 11:52:48 UTC
Permalink
roberto wrote:

]zac[
Post by roberto
L'amico aveva specificato debian.
Giusto ho dato peso a
]zac[
Post by roberto
Post by unknown
in rh esiste il comando
service nomeservizio
]zac[

e ben poco al fatto che lo voleva in debian.

Beh comunque ho capito subito (!) il mio errore, solo sei post
'''inutili''', qualche decina di righe invece di due ...
Post by roberto
Che piaccia o no, la fase di init e' proprio una delle cose che cambiano
]zac[

[OT OT OT] La seconda.

]zac[
Post by roberto
Beh, direi che al 99% il fatto che il servizio giri e' gia' un buon
sintomo che lo status sia *running*.
In alcuni casi con status si hanno delle informazioni sullo status di
funzionamento del servizio, in altri viene interrogato il servizio stesso
per essere sicuri che il servizio sia vivo (e non solo vegeto).





In sintesi anche in debian si puo' fare tutto, con l'eccezione di 'status',
con /etc/init.d/xyz .
unknown
2006-08-29 20:37:27 UTC
Permalink
Post by Giuseppe Della Bianca
/etc/init.d/nomedelservizio (o qualcosa di simile).
quasi perfetto (solo + scomodo)
Post by Giuseppe Della Bianca
P.S. man service
mi dice picche.

Forse puoi aiutarmi a "ricreare" il service con un link o simile?
gt
2006-08-29 21:28:35 UTC
Permalink
Post by unknown
Post by Giuseppe Della Bianca
P.S. man service
mi dice picche.
Forse puoi aiutarmi a "ricreare" il service con un link o simile?
service è uno script che non esiste su debian.

al posto di:
service servizio comando
usa:
invoke-rc.d servizio comando

quindi:
man invoke-rc.d

se poi vuoi fare un alias...

Loading...