Ciao,
vorrei sapere come si eseguono i programmi (in C avendo l'eseguibile a.out) in background.
Sapreste dirmi inoltre cosa fa il comando bash (mica è proprio questo il comando per eseguire in background)?
Grazie![]()
Ciao,
vorrei sapere come si eseguono i programmi (in C avendo l'eseguibile a.out) in background.
Sapreste dirmi inoltre cosa fa il comando bash (mica è proprio questo il comando per eseguire in background)?
Grazie![]()
basta lanciare il comando seguito dal carattere &.
esempio:
./miofilec &
bash è una shell, praticamente il prompt che tu vedi dove puoi digitare i comandi.
Grazie... pensa che io credevo che bash stava per "background shell"![]()
Thx![]()
ehm... bash non è un comando ,ma bensì un terminale.
Esistet anche un linguaggio che si chiama bash scripting conil quale è posibile fare un disastro di cose anche relative al sistema.
Per eseguire i programmi in background basta farli partire on la & (mi pare)dopo il nome del programma. ES: nomeprogramma &
con il comano jobs o job :master: vedi i programmi in background.
Per riportarli in foreground debi dare fg ID JOB (ES: fg 1).
Poi se premi ctrl+z sospendi il programma e lo puoi riportare in backgorund con il comando bg ID JOB
EDIT: ops.. non avevo notato le risp...0_0
Il mio povero neurone addormantato!!
E se uncome sono io vi chiedesse di spiegarmi in parole semplici cosa significa eseguire un programma in background, mi prendete in giro?
![]()
In 2 parole, fare in modo che il programma liberi il terminale una volta eseguito. La shell non attende la terminazione del programma lanciato in background per presentare un nuovo prompt, lo fa subito.Originariamente inviato da Enrico81
E se uncome sono io vi chiedesse di spiegarmi in parole semplici cosa significa eseguire un programma in background, mi prendete in giro?
"Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".
Originariamente inviato da Ikitt
In 2 parole, fare in modo che il programma liberi il terminale una volta eseguito. La shell non attende la terminazione del programma lanciato in background per presentare un nuovo prompt, lo fa subito.
Praticamente mi restituisce il prompt subito pronto per lanciare qualche altro comando se ho capito bene.
Ci sono delle controindicazioni rispetto ai programmi in foreground (che di conseguenza credo voglia dire lanciare un programma senza & e quindi occupando il terminale fino al suo arresto).
Grazie per la risposta.
ps. appena ho visto che la risposta era tua mi sono preoccupato, di solito in 3D tecnici come questo dai delle risposte che per capirle dovrei rinascere con tre cervelli (per essere intelligente in pratica)![]()
In due parole si.Originariamente inviato da Enrico81
Praticamente mi restituisce il prompt subito pronto per lanciare qualche altro comando se ho capito bene.
Controindicazioni, beh... Dipende da come vuoi considerare certe proprieta` dei processi in background. Per esempio:Ci sono delle controindicazioni rispetto ai programmi in foreground (che di conseguenza credo voglia dire lanciare un programma senza & e quindi occupando il terminale fino al suo arresto).
- un processo in background continuera` a mandare output su terminale, salvo esplicita richiesta (> /dev/null o analoghi).
Esempio tipico: yes &
- un processo in background NON potra` (ovviamente) prendere input da terminale, dev'essere riportato in foreground ogni volta per questo o deve avere redirezione dello standard input (< /qualche/file).
- se la shell viene chiusa il processo in background tira le cuoia
E altro ancora che non mi viene in mente
ps. appena ho visto che l risposta era tua mi sono preoccupato , di solito in 3D tecnici come questo dai delle risposte che per capirle dovrei rinascere con tre cervelli (per essere intelligente in pratica)![]()
VVoVe: Dovro` smettere di rispondere allora
![]()
![]()
"Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".
OK grazie milleOriginariamente inviato da Ikitt
In due parole si.
Controindicazioni, beh... Dipende da come vuoi considerare certe proprieta` dei processi in background. Per esempio:
- un processo in background continuera` a mandare output su terminale, salvo esplicita richiesta (> /dev/null o analoghi).
Esempio tipico: yes &
- un processo in background NON potra` (ovviamente) prendere input da terminale, dev'essere riportato in foreground ogni volta per questo o deve avere redirezione dello standard input (< /qualche/file).
Ma allora è una semi-fregatura- se la shell viene chiusa il processo in background tira le cuoia
Non ce problema.-E altro ancora che non mi viene in mente![]()
No, dai, scherzavo, fa piacere parlare con persone molto brave e preparate e chissa che un giorno dai tuoi post non riesca a capirci qualcosa in linuxVVoVe: Dovro` smettere di rispondere allora
![]()
![]()
![]()
![]()