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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top