我正在调查一堆垃圾邮件域,但没有一个有 SOA 记录。我以前从未见过这种情况——我什至不知道这是可能的。
如果没有 SOA 记录,DNS 如何工作?如果它不是绝对必要的,那么省略它的含义是什么?
我并不特别想添加指向垃圾邮件站点的链接,但一个示例域是“vance miller kitchens uk dot co dot uk”。
我正在调查一堆垃圾邮件域,但没有一个有 SOA 记录。我以前从未见过这种情况——我什至不知道这是可能的。
如果没有 SOA 记录,DNS 如何工作?如果它不是绝对必要的,那么省略它的含义是什么?
我并不特别想添加指向垃圾邮件站点的链接,但一个示例域是“vance miller kitchens uk dot co dot uk”。
我想了解这里发生了什么。
linvx$ ( ulimit -u 123; /bin/echo nst )
nst
linvx$ ( ulimit -u 122; /bin/echo nst )
-bash: fork: Resource temporarily unavailable
Terminated
linvx$ ( ulimit -u 123; /bin/echo one; /bin/echo two; /bin/echo three )
one
two
three
linvx$ ( ulimit -u 123; /bin/echo one & /bin/echo two & /bin/echo three )
-bash: fork: Resource temporarily unavailable
Terminated
one
我推测前 122 个进程由 Bash 本身使用,其余ulimit
进程控制允许我拥有的并发进程数。文档对此不是很清楚。我错过了什么吗?
更重要的是,对于真实世界的部署,我怎么知道哪种ulimit
是现实的?它是一个长期运行的守护进程,按需产生工作线程,并在负载减少时收集它们。我已经让它让服务器死机好几次了。最重要的限制可能是内存,我现在限制为每个进程 200M,但我想弄清楚如何对孩子的数量实施限制(该程序确实允许我配置最大值,但是如何我知道那部分代码没有错误吗?)
附录:在较新的系统上,我得到了更高的数字和略有不同的行为。
xubuntu12.04$ ( ulimit -u 206; /bin/echo nst )
nst
xubuntu12.04$ ( ulimit -u 205; /bin/echo nst )
bash: fork: retry: No child processes
bash: fork: retry: No child processes
bash: fork: retry: No child processes
bash: fork: retry: No child processes
bash: fork: Resource temporarily unavailable
Terminated
xubuntu12.04$ bash --version
GNU bash, version 4.2.24(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
我相信旧系统有 Bash v3。
在dash
中,我得到了不同的行为,尽管仍然不是我期望的行为(并且调用了选项-p
而不是-u
):
xubuntu12.04$ dash
$ ( ulimit -p 1; /bin/echo nst )
nst
$ ( ulimit -p 2; /bin/echo nst & /bin/echo too & )
dash: 0: Cannot fork
$ ( ulimit -p 208; /bin/echo nst & /bin/echo too & )
dash: 0: Cannot fork
nst
$ ( ulimit -p 209; /bin/echo nst & /bin/echo too & )
nst
too