Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.
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 Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
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.
Grazie Mario per la risposta pronta, allora vorrei
non-stop finche' e` accesa la macchina.
Ho aperto una console ed eseguito quello che mi ha suggerito:
bash-3.1$ mem.sh &
ma resta interattivo cioè la console è impegnata.
osser ha scritto:Grazie Mario per la risposta pronta, allora vorrei
non-stop finche' e` accesa la macchina.
Ho aperto una console ed eseguito quello che mi ha suggerito:
bash-3.1$ mem.sh &
ma resta interattivo cioè la console è impegnata.
E' impegnata nel senso che è impegnato lo standard output, il tuo script scrive qualcosa sullo standard output e quindi viene visualizzato, in ogni caso tu puoi usarla, ad esempio puoi uscirne senza interrompere lo script con
osser ha scritto:Grazie Mario per la risposta pronta, allora vorrei
non-stop finche' e` accesa la macchina.
Ho aperto una console ed eseguito quello che mi ha suggerito:
bash-3.1$ mem.sh &
ma resta interattivo cioè la console è impegnata.
Problema che mandi info su stdout e/o stderr.
Se mem.sh e` taciturno funziona.
E' impegnata nel senso che è impegnato lo standard output, il tuo script scrive qualcosa sullo standard output e quindi viene visualizzato, in ogni caso tu puoi usarla, ad esempio puoi uscirne senza interrompere lo script con
osser ha scritto:E' impegnata nel senso che è impegnato lo standard output, il tuo script scrive qualcosa sullo standard output e quindi viene visualizzato, in ogni caso tu puoi usarla, ad esempio puoi uscirne senza interrompere lo script con
osser ha scritto:E' impegnata nel senso che è impegnato lo standard output, il tuo script scrive qualcosa sullo standard output e quindi viene visualizzato, in ogni caso tu puoi usarla, ad esempio puoi uscirne senza interrompere lo script con
spina ha scritto:Per non killare i processi con l'exit normalmente basta il comando nohup(1)
Giusto per dovere di cronaca: se lanci un comando in background rimane figlio della shell che lo ha lanciato e viene interrotto quando la shell viene chiusa (manda un segnale di HUP ai processi figli), se lo lanci preceduto dal comando nohup il segnale di chiusura viene "bypassato", lasciando il processo attivo nonostante il padre sia stato chiuso.
Anche io mi sono fatto degli script "demoniaci" che se ne stanno dietro le quinte e il problema era proprio quello di lanciarli e chiudere la shell senza che questi morissero (in quanto figli della shell stessa). Fortunatamente la bash mette a disposizione il comando "disown" che trancia questa gerarchia.
perticamente lanci:
Questo vale se pippo.sh è il "primo" job in background per quella shell. In questo modo e facile mandare tutto in background e staccare la shell dal processo. Sinceramente non so se poi in uqlalche modo sia possibile riagganciare il processo ad una shell e riportarlo in foreground...un poì come si fa con "screen -r".
Però sinceramente a me non è mai servito perche si trattava proprio di script pensati per starsente in bg....però se ci fosse qualche possibilità di farlo e ne foste a conoscenza, non mi dispiacerebbe sapere come si fà.
Io normalmente utilizzo screen per gestire una sessione di lavoro con diverse shell:
screen -S nomesessione
"ctrl-a + c" per creare una nuova shell...
ctrl-a + d per staccare tutta la sessione dal terminale da cui si è lanciata (va tutto in background e si può anche adirittura eseguire il logout.
Poi si può ritornare su un terminale qualsiasi (sia da X che da sessione testuale) e riagganciare la sessione screen:
screen -r nomesessione
Il "nomesessione" non è sempre necessario, ma può essere utile se si hanno in piedi più sessioni screen contemporaneamente.