Eu ssh
ed para o meu servidor e corri wget -r -np zzz.aaa/bbb/ccc
e começou a funcionar. Então minha conexão com a Internet (em minha casa) foi interrompida e fiquei preocupado assumindo que wget
foi hup
ped porque a ssh
conexão foi perdida e, portanto, o terminal havia morrido. Mas então eu ssh
ed para o meu servidor e percebi que ele ainda estava rodando e colocando a saída wget.log
e baixando coisas. Alguém pode me explicar o que pode ter acontecido aqui?
Isso é o que ps
me dá:
PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
32283 0.6 29.4 179824 147088 ? S 14:00 1:53 wget -r -np zzz.aaa/bbb/ccc
O que significa (ponto de interrogação) ?
na coluna de tty
?
Programas (e scripts) podem optar por ignorar a maioria dos sinais, exceto alguns como
KILL
. OHUP
sinal pode ser captado e ignorado se o software assim o desejar.Isso é
src/main.c
daswget
fontes (versão 1.19.2):Um pouco mais abaixo, o manipulador de sinal está instalado:
Parece que
wget
não está ignorando oHUP
sinal, mas opta por continuar processando com sua saída redirecionada para o arquivo de log.Solicitado nos comentários: O significado do
?
naTTY
coluna da saída daps
pergunta é que owget
processo não está mais associado a um terminal/TTY. O TTY desapareceu quando a conexão SSH caiu.Simples :
wget
não aborta emSIGHUP
. ContinuaSIGTERM
eSIGINT
, embora.Não há nada na
man
página, mas se você enviouSIGHUP
para umwget
processo, obtém isso no terminal: