J'ai commencé à télécharger un gros fichier en arrière-plan en utilisant
$ nohup wget http://example.tld/big.iso &
ce qui me donne également un nohup.out
fichier qui inclut la sortie de wget
.
Maintenant, si je veux plus tard regarder le processus de téléchargement, je pourrais utiliser $ tail -f nohup.out
mais cela remplit ma fenêtre de terminal plus rapidement que je ne le souhaiterais. Ce que j'aimerais voir, c'est la dernière ligne constamment mise à jour (comme lorsque vous l'utilisez wget
seule).
J'ai essayé $ tail -n 1 -f nohup.out
mais cela semble n'affecter que le tailin initial.
D'une manière générale, s'il est possible de limiter (dans ce cas à 1) le nombre de lignes qu'une sortie de commande a disponible / visible, cela résoudrait ce problème. Sorte d'avoir la sortie dans un tampon circulaire - pensez simplement à la barre de progression normale $ wget example.tld/big.iso
qui s'imprimerait.
Existe-t-il une telle solution?
Ou suis-je en train de grimper dans le mauvais sens? (Ce qui signifie qu'il serait plus facile de limiter nohup
la sortie de ou de faire autre chose?)
tail
processus chaque seconde, qui pourrait ou non être quelque chose qui vous tient à cœur. Veillez également à spécifier un intervalle d'une sous-seconde (par exemplewatch -n 0.1
) pour simuler la partie "constamment mise à jour". (Cela augmente évidemment le nombre de processus et de fichiers ouverts également.) Enfin, si vous utilisez OS X, vous pouvez obtenirwatch
de MacPorts, car il n'est pas disponible par défaut.watch
dans une nouvelle fenêtre de terminal. J'ai également découvert que l'utilisationtail -n 2
est plus utile-n 1
qu'avecwget
, au moins avec unwatch
intervalle de 1 seconde, car sinon le dernier pourcentage pourrait ne pas être vu; ce n'est pas un défaut dans votre réponse, mais je l'ai mentionné si quelqu'un d'autre décide de regarder la sortie de nohup à queue wgets.tail
processus n'est probablement pas trop exagéré; mais comme réponse générale, il est bon d'en tenir compte. J'ai également noté quewatch -n 0.1
cela ne fonctionnait pas, maiswatch -n 0,1
fonctionnait - il pourrait y avoir des paramètres régionaux appliqués, bien que je n'ai jamais vu de paramètres régionaux appliqués aux options de commande de terminal auparavant. En passant:brew install watch
a aussi bien fonctionné :-)watch
cela fonctionnera avec0,1
ou0.1
dépend de vos paramètres régionaux (il utilise le symbole décimal défini pour vos paramètres régionaux). VérifiezLC_ALL=C watch -n 0.1 "date +%S.%N"
.Il existe certaines séquences de contrôle Xterm que vous pouvez utiliser pour limiter les lignes de votre terminal qui défilent. Recherchez «Définir la région de défilement». C'est un peu compliqué, cependant. Assurez-vous de réinitialiser votre terminal par la suite:
la source
tail -f
elle remplit toujours le tampon et également parce que le terminal doit être réinitialisé par la suite de toute façon. Ce n'est pas aussi en ligne que je l'espérais, mais sinon ce pourrait être ce que je cherchais.Si vous ne voulez pas que la sortie occupe toute la fenêtre de terminal actuelle, vous pouvez utiliser une
while
boucle simple :la source
scrollTtyOutput
(ou similaire) l'option.