我ssh
编辑到我的服务器并运行wget -r -np zzz.aaa/bbb/ccc
它并开始工作。然后我的互联网连接(在我家)被中断了,我担心它wget
已经被hup
ped 因为ssh
连接丢失了,因此终端已经死了。但是后来我ssh
编辑到我的服务器并意识到它仍在运行并将输出放入wget.log
并下载内容。有人可以向我解释一下这里可能发生了什么吗?
这就是ps
给我的:
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
?
它在 ? 列中的含义(问号)是什么意思tty
?
程序(和脚本)可以选择忽略大多数信号,除了少数像
KILL
.HUP
如果软件愿意,信号可以被捕获和忽略。这是来自
src/main.c
来源wget
(版本 1.19.2):再往下一点,安装了信号处理程序:
所以看起来并
wget
没有忽略HUP
信号,而是选择继续处理,并将其输出重定向到日志文件。在评论中要求:问题中输出列中的含义是该
?
进程不再与终端/TTY 关联。当 SSH 连接断开时,TTY 消失了。TTY
ps
wget
简单:
wget
不中止SIGHUP
。不过,它确实在SIGTERM
和上SIGINT
。页面上没有任何内容,
man
但如果您发送SIGHUP
到一个wget
进程,那么您会在终端中得到这个: