Me sshed para mi servidor y corriendo wget -r -np zzz.aaa/bbb/cccy comenzó a trabajar. Luego, mi conexión a Internet (en mi casa) se interrumpió y me preocupé suponiendo que wgetse había interrumpido hupporque la sshconexión se había perdido y, por lo tanto, la terminal había muerto. Pero luego sshedité en mi servidor y me di cuenta de que todavía estaba ejecutándose y colocando la salida wget.logy descargando cosas. ¿Puede alguien explicarme qué pudo haber sucedido aquí?
Esto es lo psque me da:
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
¿Qué significa (signo de interrogación) ?en la columna de tty?

logind, el comportamiento predeterminado delogindes matar (SIGTERM) todos los procesos que pertenecen a un usuario cuando el usuario cierra la sesión. Entonces este comportamiento es específico del sistema.KillUserProcesses=no.Respuestas:
Los programas (y los scripts) pueden elegir ignorar la mayoría de las señales, excepto algunas como
KILL. LaHUPseñal se puede capturar e ignorar si el software así lo desea.Esto es
src/main.cde laswgetfuentes (versión 1.19.2):Un poco más abajo está instalado el controlador de señal:
Por lo tanto, parece que
wgetno ignora laHUPseñal, pero elige continuar procesando con su salida redirigida al archivo de registro.Solicitado en los comentarios: El significado de
?en laTTYcolumna de la salida depsla pregunta es que elwgetproceso ya no está asociado con un terminal / TTY. El TTY desapareció cuando se cortó la conexión SSH.fuente
Simple :
wgetno abortaSIGHUP. Lo haceSIGTERMySIGINT, sin embargo.No hay nada en la
manpágina, pero si lo envióSIGHUPa unwgetproceso, lo obtiene en la terminal:fuente
kill -HUP pidcomando para mostrar cómo se puede enviarSIGHUPa un proceso.