Frage

Ich habe ein Bash-Skript mystuff eine Zeile wie

enthalten
lynx -dump http://example.com >tmpfile

und das Skript funktioniert gut, auch diesen Teil, außer , wenn ich laufe es nicht interaktiv:

$ ./mystuff &
[1] 3712
$ jobs
[1]+ Stopped

Der Auftrag wird gestoppt. Ich finde, dass Luchs der Täter ist. Auch dieser Befehl ausgeführt wird den Job direkt aus der Bash-Prompt verursacht sofort gestoppt werden:

$ lynx -dump http://example.com >tmpfile &
[1] 1836
$ jobs
[1]+ Stopped

Warum wird nicht im Hintergrund läuft Luchs? Wie kann ich dieses Problem beheben?

EDIT:

Ich bin mit Luchs, weil ich möchte nicht den rohen HTML zu analysieren haben. Der Unterschied zwischen wget und lynx -dump ist, dass Luchs die HTML machen wird; es wird alle Tags verstecken, ordnen Text schön, etc.

War es hilfreich?

Lösung

Lynx will Ihr Terminal sprechen, aber nicht kann, so es hat eine SIGSTP (tty-Eingang) und wartet, bis Sie den Prozess in den Vordergrund.

Wie mgb oben gesagt: Verwendung wget. wget -O tmpfile http://example.com macht das gleiche wie das, was Sie mit Luchs oben tun.

Andere Tipps

Nicht die Antwort, die Sie sind lookign aber könnten Sie nur benutzen wget statt?

Auf meinem System Ihre Luchs Befehl funktioniert wie. Versuchen Sie dies und sehen, was passiert:

lynx -dump -term=xterm http://example.com >tmpfile &

Wir hatten Glück laufen Luchs --source http_setting. // was | bash

Ausführen als bash den Hintergrundprozess erlaubt mit meinen persönlichen Zugangsdaten zu umgehen läuft und keine tty Diskrepanzen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top