Newsgroup: it.comp.os.linux.sys
Titolo: Stupidità in & :)

Ehm scusate la domanda stupida...
se
- entro in ssh
- eseguo un programma in background aggiungendo & alla fine
- esco da ssh
il programma smette di funzionare... ehm perchè? lanciandolo con & 
finale non dovrebbe continuare anche ad utente disconnesso??

man nohup
-- 
Stefano L.

 Lascia perdere 'nohup' (diciamo che c'e' per compatibilita' Unix).
Io non direi che uno sostituisce l'altro.
Fanno due cose diverse, uno maschera l'hangup (e ridirige l'output !),
l'altro cambia il sessionid.
Uno dei risultati e' che il comando lanciato tramite essi non viene killato
chiudendo la sessione che lo ha lanciato, ma per motivi diversi.
-- 
Stefano L.

 grazie :)
usa screen ... in modo che fai il detach e poi, se in un secondo
momento vuoi controllare com'e' andata, fai il reattach ...
man screen
ciao ...
-- 
Never try to teach a pig to sing.
It wastes your time and annoys the pig.


Perché il programma, pur girando in background, rimane associato al 
terminale e disconnettendoti viene generato un SIGHUP al programma.
Se vuoi che si comporti come un demone (quindi senza associazione da 
terminale) basta redirigere input ed output su di un file.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

 finale non dovrebbe continuare anche ad utente disconnesso??
no, con la & lo mandi semlicemente in background, usa nohup o meglio
screen
Ciao, Micky
-- 
What's this hash prompt on my terminal mean?
Micky Del Favero  -  System Manager  &  BOFH

 screen
Alternativamente, se ormai lo si č lanciato e non lo si puň fermare (capita)
disown %1
man bash
-- 
Flavio Visentin
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.

 nohup, su Linux, non serve assolutamente a niente.
E' bello avere delle certezze.
-- 
Stefano L.

 server ingrossandosi troppo.
 
-- 
Stefano L.

 Per usarlo o per non usarlo?
Perché fa cose diverse da nohup e qualcuno ha pensato che potesse 
essere utile ;-)


 
Io uso screen o al massimo
nohup <prog> & > /dev/null
(almeno a memoria) e non mi genera alcun file da cancellare..

 un file di log, che nel 99% dei casi non ti serve a nulla?
Non ho preferenze ne per l'uno ne per l'altro, specialmente se fanno 
lo stesso servizio.  Io in genere uso 'batch' che oltre tutto permette 
di lanciare una serie di comandi che andranno in sequenza.
Quello che non ha senso è la tua affermazione che 'setsid' sia una 
utility solo di linux visto che la system call è disponibile su tutti 
gli unix.  Se invece il programma 'setsid' non è disponibile su 
solaris o su hpux è solo una scelta di chi prepara le release.  O non 
ha mai pensato fosse utile oppure pensava che qualsiasi utente unix 
dovrebbe essere in grado di scrivere un simile semplice programma (20 
linee di codice C inclusi i commenti).


 chiama nohup.out
Ti ho gia' detto quando trovo comodo usare nohup e quando non non lo userei
per nulla, la creazione di nohup.out mi sta bene e vado a vedere cosa c'e'
scritto dentro.
La differenza tra nokup e setsid e' sostanziale, se ti interessa capirla a
fondo puoi cominciare, ad esempio, con:
man 2 setsid    man 2 setpgrp    man 2 kill    man 2 fork
guarda bene i concetti di process id, process group id, process group
leader  :)
-- 
Stefano L.

 piu' idonea?
La risposta piu' idonea, credo che ormai possa deciderla da solo writehem se
ha seguito e capito tutto quanto e' stato scritto.
Tra l'altro lui non ha mai parlato di programmi grafici ma di "programma in
background".
Cio che sostengo io, non e' che nohup sia la risposta piu' idonea, bensi'
che non e' vero che nohup sia stato sostituito da setsid e che quindi non
serva assolutamente a niente ma che, invece, sono semplicemente cose
diverse.
-- 
Stefano L.

[supercut]
vi ringrazio per le risposte.  personalmente ancora stento a cogliere le 
differenze. cronologicamente ho letto prima nohup, l'ho provato e funziona.
mi basta così :))

 man bash
ps -xa | grep programma
kill :)