Domanda

Ho un mystuff script bash contenente una linea del tipo

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

e lo script funziona bene, compreso questa parte, tranne quando l'eseguo in modo non interattivo:

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

Il processo viene interrotto. Trovo che la lince è il colpevole. Anche l'esecuzione di questo comando direttamente dal prompt bash provoca il lavoro di essere fermato immediatamente:

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

Perché non il Lynx eseguito in background? Come posso risolvere questo problema?

Modifica

Sto usando lince perché non voglio avere per analizzare il codice HTML grezzo. La differenza tra wget e lynx -dump è che lynx renderà il codice HTML; si nasconderà tutti i tag, organizzare il testo piacevolmente, ecc.

È stato utile?

Soluzione

Lynx vuole parlare con il vostro terminale, ma non può, quindi fa un SIGSTP (ingresso TTY) e attende che l'utente in primo piano il processo.

Come detto sopra MGB: uso wget. wget -O tmpfile http://example.com fa la stessa cosa di quello che stai facendo con lynx sopra.

Altri suggerimenti

Non è la risposta che stai lookign per, ma si potrebbe semplicemente usare wget invece ?

Sul mio sistema, il comando lince Funziona già così com'è. Provate questo e vedere cosa succede:

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

Abbiamo avuto la fortuna lince esecuzione --source http_setting:. // qualunque | bash

In esecuzione come bash ha permesso al processo in background di bypassare correre con le mie credenziali personali e discrepanze TTY.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top