Exécuter -dump lynx en arrière-plan?
-
06-09-2019 - |
Question
J'ai un mystuff
script bash contenant une ligne comme
lynx -dump http://example.com >tmpfile
et le script fonctionne très bien, y compris cette partie, sauf quand je le lance non interactive:
$ ./mystuff &
[1] 3712
$ jobs
[1]+ Stopped
Le travail est arrêté. Je trouve que le lynx est le coupable. Même exécutant cette commande directement à partir de l'invite bash provoque le travail à arrêter immédiatement:
$ lynx -dump http://example.com >tmpfile &
[1] 1836
$ jobs
[1]+ Stopped
Pourquoi ne lynx en arrière-plan? Comment puis-je résoudre ce problème?
EDIT:
J'utilise lynx parce que je ne veux pas avoir à analyser le code HTML brut. La différence entre wget
et lynx -dump
est que le lynx rend le HTML; il cachera toutes les balises, arranger le texte bien, etc.
La solution
Lynx veut parler à votre terminal, mais ne peut pas, il fait un SIGSTP (entrée TTY) et attend que vous le processus d'avant-plan.
Comme MGB dit ci-dessus: l'utilisation wget. wget -O tmpfile http://example.com
fait la même chose que ce que vous faites avec le lynx ci-dessus.
Autres conseils
Pas la réponse que vous lookign pour, mais pourriez-vous utiliser simplement wget à la place?
Sur mon système, vos travaux de commande de lynx, comme montrés. Essayez et voir ce qui se passe:
lynx -dump -term=xterm http://example.com >tmpfile &
Nous avions lynx courir la chance de --source http_setting. // quelle que soit | bash
Exécution en tant que bash a permis au processus d'arrière-plan pour contourner l'exécution avec mes qualifications personnelles et aucune anomalie tty.