我有一个包含像
这样的行的bash脚本mystuff
lynx -dump http://example.com >tmpfile
并且脚本运行正常,包括此部分,除了,当我以非交互方式运行它时:
$ ./mystuff &
[1] 3712
$ jobs
[1]+ Stopped
工作已停止。我发现ly is是罪魁祸首。即使直接从bash提示符运行此命令也会立即停止作业:
$ lynx -dump http://example.com >tmpfile &
[1] 1836
$ jobs
[1]+ Stopped
为什么lynx不会在后台运行?我该如何解决这个问题?
修改
我正在使用lynx,因为我不想解析原始HTML。 wget
和lynx -dump
之间的区别在于lynx将呈现HTML;它会隐藏所有标签,很好地排列文本等等。
答案 0 :(得分:2)
Lynx希望与您的终端通话,但不能,所以它会执行SIGSTP(tty输入)并等待您前置该过程。
正如mgb所述:使用wget。 wget -O tmpfile http://example.com
与你上面使用lynx做的事情完全相同。
答案 1 :(得分:1)
不是您要找的答案,但您可以使用wget吗?
答案 2 :(得分:0)
在我的系统上,你的lynx命令按原样工作。试试这个,看看会发生什么:
lynx -dump -term=xterm http://example.com >tmpfile &
答案 3 :(得分:0)
我们有幸运行lynx --source http_setting:// whatever | bash。
以bash身份运行允许后台进程绕过我的个人凭据运行,并且没有任何差异。