Pergunta

Eu tenho um mystuff script bash contendo uma linha como

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

eo script funciona bem, incluindo esta parte, , exceto quando eu executá-lo de forma não interativa:

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

O trabalho está parado. Acho que o lince é o culpado. Mesmo correndo o comando diretamente das causas prompt do bash o trabalho a ser interrompido imediatamente:

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

Por que não vai lynx executado em segundo plano? Como posso resolver isso?

EDIT:

Eu estou usando lynx porque eu não quero ter que analisar o HTML cru. A diferença entre wget e lynx -dump é que lynx irá processar o HTML; ele irá esconder todas as marcas, arranje o texto muito bem, etc.

Foi útil?

Solução

Lynx quer falar com o seu terminal, mas não pode, por isso faz um SIGSTP (entrada tty) e espera por você para o primeiro plano o processo.

Como mgb disse acima: uso wget. wget -O tmpfile http://example.com faz a mesma coisa que o que você está fazendo com o lince acima.

Outras dicas

Não a resposta que você está procurando, mas você pode simplesmente usar wget vez?

No meu sistema, o comando lynx funciona como é. Experimente e veja o que acontece:

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

Nós tivemos sorte em execução lince --source http_setting:. // qualquer que seja | festa

A execução como o bash permitiu que o processo em segundo plano para ignorar a correr com minhas credenciais pessoais e há discrepâncias tty.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top