3

我有一个mystuff包含如下行的 bash 脚本

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

并且脚本工作正常,包括这部分,除非我以非交互方式运行它:

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

作业已停止。我发现猞猁是罪魁祸首。即使直接从 bash 提示符运行此命令也会导致作业立即停止:

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

为什么 lynx 不在后台运行?我怎样才能解决这个问题?

编辑:

我使用 lynx 是因为我不想解析原始 HTML。wget和的区别在于lynx -dumplynx 会渲染 HTML;它将隐藏所有标签,很好地排列文本等。

4

4 回答 4

2

Lynx 想与您的终端交谈,但不能,因此它会执行 SIGSTP(tty 输入)并等待您将进程置于前台。

正如上面的mgb所说:使用wget。wget -O tmpfile http://example.com与上面对 lynx 所做的事情相同。

于 2009-05-28T16:01:29.257 回答
1

不是您要寻找的答案,但您可以改用wget吗?

于 2009-05-28T15:58:31.447 回答
0

在我的系统上,您的 lynx 命令按原样工作。试试这个,看看会发生什么:

lynx -dump -term=xterm http://example.com >tmpfile &
于 2009-05-28T17:30:33.490 回答
0

我们很幸运地运行了 lynx --source http_setting://whatever|bash。

作为 bash 运行允许后台进程绕过使用我的个人凭据运行且没有 tty 差异。

于 2014-01-09T16:20:01.190 回答