WEB开发网
开发学院操作系统Linux/Unix 系统管理工具包: 问题和陷阱 阅读

系统管理工具包: 问题和陷阱

 2008-11-12 08:27:50 来源:WEB开发网   
核心提示: 在标准的 UNIX 文件系统中,您可以在文件打开或写入的时候删除它,系统管理工具包: 问题和陷阱(2),这将从文件系统中删除该文件的名称,当使用该文件的程序关闭它时,然后,xargs 命令接受每个进程 ID(因为使用了 -L 1 以便一次提取一行内容),操作系统可以重新获得其存储空间,许多

在标准的 UNIX 文件系统中,您可以在文件打开或写入的时候删除它。这将从文件系统中删除该文件的名称,当使用该文件的程序关闭它时,操作系统可以重新获得其存储空间。许多程序常常使用这种特性来创建临时文件,它们可以创建文件、打开文件并删除文件。如果程序崩溃或正常退出,则将自动删除相应的文件,所以程序员不需要关闭文件或稍后对其进行删除操作。

因为服务器保持打开相应的日志文件以便写入数据,而这些日志文件占用了大量的空间,所以这种情况是非常不利的。删除这样的文件只是从文件系统中删除了它的名称,而无法重新获得任何磁盘空间,直到相应的进程退出或关闭该文件。

要解决这个问题,您可以重新启动拥有这个日志文件的服务,不过该服务的中断可能会引起一些不必要的麻烦。另一种选择是对日志文件重命名,然后告诉相应的进程重新加载其配置文件。任何现有的处理过程将会继续,使用打开的日志文件直到正常完成,而任何新的请求将会记录到使用旧的名称创建的新日志文件中。

根据约定,当您发送一个挂起信号(信号 1 或 HUP)时,大多数服务器进程(所有常用的进程)都会进行复位操作并重新加载它们的配置文件。清单 2 显示了向所有正在运行的 Web 服务器进程发送挂起信号的一种方法。

清单 2. 告诉 Web 服务器重新加载其配置文件并对文件进行复位操作

chrish@Bender [507]$ ps -A | grep httpd | grep -v grep |
awk '{ print $1; }' | xargs -L 1 sudo kill -HUP
Password:

上面的命令中包含了很多的操作,所以让我们来仔细地看一下管道的每个部分。ps 和 grep 命令用来在所有的进程中搜索 httpd(并且忽略用来搜索 httpd 进程的 grep 进程)。接下来,awk 只显示输出结果中的进程 ID,并将它传递给 xargs。然后,xargs 命令接受每个进程 ID(因为使用了 -L 1 以便一次提取一行内容),并使用 sudo kill -HUP 向相应的进程发送一个挂起信号。

上一页  1 2 3 4 5 6 7  下一页

Tags:系统 管理 工具包

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接