Repository 32bit  Forum
Repository 64bit  Wiki

Avviare servizi tramite inittab

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Avviare servizi tramite inittab

Messaggioda miklos » mar mag 08, 2012 9:57

Ciao a tutti, stavo preparando uno slackbuild per un servizio che utilizzo da poco e mentre stavo scrivendo lo script di avvio mi sono imbattuto in una discussione dove lo sviluppatore principale scrive
However, init.d scripts, especially when combined with processes that fork, are a terrible way to run services. I'm not going to encourage such an unreliable mechanism.
che invece consiglia, nella documentazione del progetto, di aggiungere una riga nell'inittab piu' o meno in questo modo
Codice: Seleziona tutto
bean:345:respawn:su nobody -c 'exec /usr/bin/beanstalkd'

per me è stato come un fulmine a ciel sereno in quanto non ho mai visto fare una cosa del genere (o in tanti anni di slackware non me ne sono mai accorto :D ).
ad occhio mi vengono in mente stupidamente, due possibili vantaggi di questo approccio:
  • è possibile avviare separatamente diverse istanze dello stesso servizio con parametri diversi, cosa che con un singolo script di avvio viene piu' complicata
  • ad ogni crash del servizio si dovrebbe riavviare in autonomia
voi che ne pensate?!?!? è pura follia, oppure ha senso?!?!?!
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1207
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.12.6
Desktop: openbox 3.5.2

Re: Avviare servizi tramite inittab

Messaggioda masalapianta » mar mag 08, 2012 10:54

è una cagata pazzesca (cit.), il respawn di init è pensato per servizi che debbono stare in piedi qualunque sia lo stato del sistema (come le getty), non per demoni che devono dipendere dal runlevel in cui ci si trova; se il signorino ha paura che un demone sfugga al controllo degli script di init con una doppia fork(), allora utilizzasse systemd (che usa i cgroups per tracciare i processi, anzichè i pid) invece di consigliare ste porcate.
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2775
Iscritto il: dom lug 24, 2005 23:00
Località: Roma
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian

Re: Avviare servizi tramite inittab

Messaggioda miklos » mar mag 08, 2012 11:14

masalapianta ha scritto:se il signorino ha paura che un demone sfugga al controllo degli script di init con una doppia fork()
che tra l'altro non è nemmeno questo caso visto che il servizio in questione non è demonizzabile nel senso che negli script che stavo preparando va lanciato in background.
pero' in ogni caso non riesco a capire questa 'problematica'. voglio dire se un demone sfugge al controllo con multipli fork il problema non sta nello script, ma nel demone.. giusto!??!?!
in caso contrario riesci, per favore, a farmi un esempio.. piu' che altro ora è diventata una mia curiosità.

ciau e grazie
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1207
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.12.6
Desktop: openbox 3.5.2

Re: Avviare servizi tramite inittab

Messaggioda notsafe » mar mag 08, 2012 13:38

miklos ha scritto:per me è stato come un fulmine a ciel sereno in quanto non ho mai visto fare una cosa del genere


allora non hai mai avuto a che fare con sistemi crackati :)
notsafe
Linux 2.4
Linux 2.4
 
Messaggi: 451
Iscritto il: mar mar 21, 2006 11:00

Re: Avviare servizi tramite inittab

Messaggioda masalapianta » mar mag 08, 2012 16:11

miklos ha scritto:pero' in ogni caso non riesco a capire questa 'problematica'. voglio dire se un demone sfugge al controllo con multipli fork il problema non sta nello script, ma nel demone.. giusto!??!?!

in generale, laddove è possibile, conviene avere meccanismi di controllo che gestiscano eventuali errori di programmazione (se così non fosse non avremmo cose come la modalità protetta ad esempio)
in caso contrario riesci, per favore, a farmi un esempio.. piu' che altro ora è diventata una mia curiosità.
ciau e grazie

un esempio di cosa?
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2775
Iscritto il: dom lug 24, 2005 23:00
Località: Roma
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian

Re: Avviare servizi tramite inittab

Messaggioda masalapianta » mar mag 08, 2012 16:13

notsafe ha scritto:
miklos ha scritto:per me è stato come un fulmine a ciel sereno in quanto non ho mai visto fare una cosa del genere


allora non hai mai avuto a che fare con sistemi crackati :)

o con qmail :P
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2775
Iscritto il: dom lug 24, 2005 23:00
Località: Roma
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian


Torna a Gnu/Linux in genere

Chi c’è in linea

Visitano il forum: Blallo, Google [Bot], Yahoo [Bot] e 2 ospiti