Pagina 1 di 1

[Risolto] [Fedora] Autoavvio di un proprio codice

Inviato: sabato 2 marzo 2013, 19:26
da vaeVictis
Ciao a tutti.
Vorrei chiedervi aiuto per risolvere un problema di un mio amico che usa Fedora 14 (32 bit, anche se non essenziale).

Un'idea la ho, ma vorrei il vostro parere prima di suggerire qualcosa al mio amico.
Il suo problema riguarda l'autoavvio di un programma su un computer che non ha interfaccia grafica (o che se la ha non viene caricata).

Il programma, avviato manualmente da un utente quando il computer è in uso, funziona egregiamente e non dà problemi.
Quando lo avvia in automatico... dà problemi. Nel senso che lancia in continuazione se stesso e dopo un po' ci sono un mare di questi programmi.

Lui ha modificato il file .bash_profile nella home del suo utente aggiungendo la riga

Codice: Seleziona tutto

./nome_programma
e secondo me il problema è proprio questo.
Ovvero, il file .bash_profile viene letto (per configurarsi) dalla shell bash, ogni volta che questa viene lanciata.
Quindi ogni volta che "qualcosa" lancia una shell... lancia anche il programma.

Secondo voi, come spiegazione può andare?
E inoltre... su Fedora come si risolve la questione dell'autoavvio?
Io ho letto qualcosa in giro, ma non mi risulta chiaro, perché non ho il sistema sotto mano.
Il runlevel cui si porta il computer quando viene acceso è il 3
(l'ho constatato dicendo al mio amico di dare il comando runlevel al terminale e dirmi l'output... che appunto è 3)

In attesa di qualche consiglio, vi ringrazio anticipatamente :)
:ciao:

Re: [Fedora] Autoavvio di un proprio codice

Inviato: domenica 3 marzo 2013, 11:39
da Janvitus
Che tipo di programma è? Uno script o che?

Re: [Fedora] Autoavvio di un proprio codice

Inviato: domenica 3 marzo 2013, 12:23
da sabayonino
i comandi posti in .bashrc dell'utente vengono eseguiti ogni qualvolta si accede ad un terminale utente o ci si logga come come utente.

quindi 10 terminali aperti = 10 esecuzioni dei comandi in esso contenuti

su fedora dovresti cercar e qualosa relativo a rc.local per l'esecuzione di script all'avvio

Re: [Fedora] Autoavvio di un proprio codice

Inviato: domenica 3 marzo 2013, 13:29
da hellojoker
vaeVictis [url=http://forum.ubuntu-it.org/viewtopic.php?p=4336262#p4336262][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Ciao a tutti.
Vorrei chiedervi aiuto per risolvere un problema di un mio amico che usa Fedora 14 (32 bit, anche se non essenziale).

Un'idea la ho, ma vorrei il vostro parere prima di suggerire qualcosa al mio amico.
Il suo problema riguarda l'autoavvio di un programma su un computer che non ha interfaccia grafica (o che se la ha non viene caricata).

Il programma, avviato manualmente da un utente quando il computer è in uso, funziona egregiamente e non dà problemi.
Quando lo avvia in automatico... dà problemi. Nel senso che lancia in continuazione se stesso e dopo un po' ci sono un mare di questi programmi.

Lui ha modificato il file .bash_profile nella home del suo utente aggiungendo la riga

Codice: Seleziona tutto

./nome_programma
e secondo me il problema è proprio questo.
Ovvero, il file .bash_profile viene letto (per configurarsi) dalla shell bash, ogni volta che questa viene lanciata.
Quindi ogni volta che "qualcosa" lancia una shell... lancia anche il programma.
Però è strano normalmente non succede, quali operazioni fa? Quante volte pensi che possa avviare una shell di login ?

Re: [Fedora] Autoavvio di un proprio codice

Inviato: domenica 3 marzo 2013, 15:08
da vaeVictis
Programmi C avviabili senza permessi particolari da un semplice utente.

@hellojoker
In effetti, il file in cui ha inserito la riga di codice per lanciarlo è .bash_profile, che viene letto solo dalle shell di login.
Io intendevo che se magari un demone (dietro le quinte) lancia qualche comando sulla shell... questa rilegge il file di configurazione e fa partire un'altra istanza del programma in questione... ma in effetti non è questo il caso.

Sinceramente non so da cosa possa dipendere questo malfunzionamento... ma vorrei solo capire come istruire Fedora a lanciare un comando UNA sola volta, quando si porta ad un determinato runlevel.

Re: [Fedora] Autoavvio di un proprio codice

Inviato: domenica 3 marzo 2013, 15:23
da Stealth
Ma non c'è la directory /etc/init.d? Se è uno script ce lo metti e lo rendi eseguibile, poi trovi il comando (non ho mai usato fedora e non lo so) per avviarlo al boot. Su debian e derivate si usa update-rc.d nome_script defaults, mentre su centos e redhat si usa chkconfig nome_servizio on.
Si tratta solo di capire quale sia il comando che usa fedora, con una semplice ricerca in rete lo trovi.
ciao

Re: [Fedora] Autoavvio di un proprio codice

Inviato: domenica 3 marzo 2013, 15:23
da hellojoker
rc.local dovrebbe andare bene, (non ricordo se su fedora 14 l'avessero già tolto o meno (il file intendo), ma basta ricrearlo (funziona ancora sulla 19 per dire)

Ps ancora meglio come dice Stealth

Re: [Fedora] Autoavvio di un proprio codice

Inviato: lunedì 4 marzo 2013, 15:54
da Janvitus
Si, rc.local, al massimo c'è pure cron.

Re: [Fedora] Autoavvio di un proprio codice

Inviato: lunedì 4 marzo 2013, 16:18
da hellojoker
Stavo pensando se fa qualcosa tipo questo dovrebbe andare, nel .bash_profile invece che ./nome_programma una cosa tipo

if [ ! -f /tmp/imrunning ]; then
./nome_programma && touch /tmp/imrunning
fi

Re: [Fedora] Autoavvio di un proprio codice

Inviato: lunedì 4 marzo 2013, 17:05
da vaeVictis
Ottima osservazione, hellojoker, non ci avevo proprio pensato. Volendo si può fare anche un controllo sul pid del processo, invece che appoggiandosi ad un "file civetta" :)
Non ho ancora avuto modo di mettere le mani su 'sto pc.
Vi tengo aggiornati.

p.s.:
In merito alle ricerche, ne ho fatte, ma ho trovato materiale confusionario e poco chiaro per me che non ho mai visto red hat/fedora.

Re: [Fedora] Autoavvio di un proprio codice

Inviato: lunedì 4 marzo 2013, 21:15
da Janvitus
vaeVictis [url=http://forum.ubuntu-it.org/viewtopic.php?p=4337457#p4337457][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
p.s.:
In merito alle ricerche, ne ho fatte, ma ho trovato materiale confusionario e poco chiaro per me che non ho mai visto red hat/fedora.
Guarda che ste cose sono uguali su qualunque distro ;)