Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/01/2014, à 13:02

Creaprog

Exécuter une commande sans à devoir attendre

Bonjour,

Quand je compresse des gros fichier dans mon serveur je suis obliger d'attendre sans fermer mon shell sinon, ma compression sera échoué. Je souhaite une solution pour détourner se problème.

Hors ligne

#2 Le 16/01/2014, à 13:07

Compte anonymisé

Re : Exécuter une commande sans à devoir attendre

Salut

Tu fais :
nohup  commande  &

#3 Le 16/01/2014, à 23:52

tiramiseb

Re : Exécuter une commande sans à devoir attendre

salut,

autre possibilité pour conserver le main sur ce qui tourne : utiliser screen

Hors ligne

#4 Le 17/01/2014, à 14:21

Creaprog

Re : Exécuter une commande sans à devoir attendre

nohup  commande  &

D'accord mais si je veux arrêter je fais comment ?

Hors ligne

#5 Le 17/01/2014, à 14:41

tiramiseb

Re : Exécuter une commande sans à devoir attendre

nohup  commande  &

D'accord mais si je veux arrêter je fais comment ?

Dans ce cas il faut killer le processus (commande kill ou éventuellement pkill), il n'y a pas d'autre solution.


Si tu veux garder la main dessus, comme je l'ai indiqué, il faut utiliser screen :
http://doc.ubuntu-fr.org/screen

Dernière modification par tiramiseb (Le 17/01/2014, à 14:41)

Hors ligne

#6 Le 17/01/2014, à 15:45

Creaprog

Re : Exécuter une commande sans à devoir attendre

nohup: ignoring input and appending output to `nohup.out'

Pourquoi ?

Hors ligne

#7 Le 17/01/2014, à 15:58

tiramiseb

Re : Exécuter une commande sans à devoir attendre

Creaprog a écrit :
nohup: ignoring input and appending output to `nohup.out'

Pourquoi ?

Parce que c'est le but de nohup : détacher la commande de ton terminal et mettre la sortie dans un fichier...

Hors ligne

#8 Le 17/01/2014, à 17:14

Compte anonymisé

Re : Exécuter une commande sans à devoir attendre

Creaprog a écrit :

nohup  commande  &

D'accord mais si je veux arrêter je fais comment ?


Le & en fin de commande te renvoie un n° et le pid du process :
root@Chez-Moi:~# nohup find / -name tata &
[1] 2592

Tu peux ainsi faire un :
kill 2592
ou reprendre la main du process :
fg 1
la commande :
nohup  cmd  + CTRL+Z + bg     (en fait le CTRL+Z + bg  est équivalent au & en fin de commande)
passe la tache courante en tâche de fond
Comme dit par tiramiseb  les messages de sortie vont dans le fichier nohup.out.

#9 Le 19/01/2014, à 21:24

Creaprog

Re : Exécuter une commande sans à devoir attendre

nohup ./shallot &
[1] 7489
root@bot2bot:/home/Shallot-master# nohup: ignoring input and appending output to `nohup.out'

Ensuite le programme s'arrête. Par contre le fichier nohup.out est créer.

Hors ligne

#10 Le 19/01/2014, à 21:27

Compte anonymisé

Re : Exécuter une commande sans à devoir attendre

Que fait ton programme ?  attend-t-il des entrées sur un terminal ou y fait-il des sorties?
Que contient nohup.out ?

#11 Le 19/01/2014, à 21:30

Creaprog

Re : Exécuter une commande sans à devoir attendre

Non désoler c'est ma faute je me suis trompé lors l'exécution de mon programme. Mais quand mon programme sera terminer il vas afficher un message, il sera inscris dans nohup.out ?

Dernière modification par Creaprog (Le 19/01/2014, à 21:31)

Hors ligne

#12 Le 19/01/2014, à 21:51

Zakhar

Re : Exécuter une commande sans à devoir attendre

Tu peux aussi utiliser le principe des jobs sur la console.

1) lancement de ta commande
2) CTRL+Z => ta commande est suspendue
3) bg => ta commande se déroule maintenant en arrière plan. (Note que si la commande écrit sur stdout/stderr, tu le verras dans ta console et ça va se mélanger avec les écritures des autres commandes en cours. Donc si tu prévois de faire ça, il vaut mieux rediriger les sorties)

L'autre option est fg pour rappeler la commande en premier plan.

Avec bg, tu peux ensuite lancer d'autres commandes, et les mettre aussi en arrière plan.

Pour savoir alors les manipuler, il faut rajouter le numéro de job (obtenu par jobs) à la suite de bg ou fg.

Par exemple fg 3 pour rappeler au premier plan je job marqué 3.

Dernière modification par Zakhar (Le 19/01/2014, à 21:52)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne