Eu uso o wget
comando em segundo plano como este
wget -bq
e imprime
Continuando em segundo plano, pid 31754.
Mas quando eu digito o comando jobs
, não vejo meu trabalho (embora o download não esteja concluído).
Eu uso o wget
comando em segundo plano como este
wget -bq
e imprime
Continuando em segundo plano, pid 31754.
Mas quando eu digito o comando jobs
, não vejo meu trabalho (embora o download não esteja concluído).
ps -p 31754
Jjobs
funciona apenas para o (este) controle de trabalho do shell (&
anotação, ctrl-z oubg
vírgula). Processo geral listando (ps -a
vai mostrá-lo)Respostas:
Ao usar
wget
com-b
ou--background
coloca -se em segundo plano por dissociar a partir do shell atual ( por bifurcação de um processo filho e que encerra o pai ). Como não é o shell que o coloca em segundo plano como um trabalho assíncrono, ele não aparecerá como um trabalho quando você o usarjobs
.Para executar
wget
como um trabalho assíncrono (em segundo plano) no shell, useSe você fizer isso, poderá redirecionar a saída para algum arquivo (o que
wget
é feito automaticamente com-b
) ou descartá-la redirecionando para/dev/null
, ou usando-q
ou--quiet
.fonte
Porque ele se coloca em segundo plano. Use
&
para dizer ao bash para colocá-lo em segundo plano e para colocá-lo na lista de trabalhos do bash.O plano de fundo e a lista de controle de tarefas não são os mesmos. O Bash coloca todos os seus processos em segundo plano em sua lista de controle de tarefas (por padrão), mas os processos podem ser em segundo plano sem serem colocados na lista. Somente o bash pode colocar trabalhos em sua lista.
Pode haver vantagens na
-bg
opção (não sei o que). Por exemplossh
, a opção em segundo plano, coloca-a em segundo plano após solicitar uma senha.fonte
-bq
, ou seja ,-b
e-q
não-bg
.O processo com o pid 31754 existe; se você digitar,
ps -e |grep 31754
mas como não é um trabalho que possa ser movido para o primeiro plano novamente, ele não será exibido pelo comando jobs.wget -bq
envie automaticamente a saída para o plano de fundo sem opções para movê-la para o primeiro plano novamente.fonte
ps
tem uma-p
opção que pode ser usada para consultar um PID específico ou pode ser usadopgrep wget
.Eu costumo
tail wget-log
ver as últimas linhas do log, dando-me uma idéia do status do download.fonte