系统管理员工具包: 进程管理技巧
2008-11-11 08:13:38 来源:WEB开发网确定这两个数据能够更好地了解内存的使用情况。如果将 ps 与 grep 组合起来选择特定的进程,并使用 awk 来计算总量,就可以获取单个应用程序或者某个应用程序及其子进程正占用多少物理内存和虚拟内存。
例如,要确定 bash 进程所使用的物理内存和虚拟内存,可以使用清单 14 中的命令。
清单 14. 使用 ps 和 awk 计算内存使用情况
$ ps -A -o rss,vsz,command|grep bash |
awk '{rss += $1; vsz += $2 } END { print "Real: ",rss, "Virtual: ",vsz }'
Real: 4004 Virtual: 305624
这在诊断内存和交换区使用情况的问题时特别有用。
使用与作业控制兼容的 Shell
对于一个典型的系统管理员来说,在任一时刻运行一或两个以上的特定任务是很平常的事。尽管在任何时刻与服务器的连接可能不止一个,不论是多终端窗口(例如通过 xterm)还是其他的终端,或者通过 SSH、Telnet 的远程连接,有时候需要在活动的 Shell 或者环境中控制或监视多个进程。
所有的 Shell 都支持在命令的末尾附加连字符 (&) 来使命令自动在后台运行。但有时希望将一个交互应用程序(如一个编辑器)放到后台,以便可以运行一个 Shell 命令,然后返回到编辑器会话。
这种控制后台进程的能力称为作业控制,它是 Korn Shell、C Shell 以及开源的 Shell(例如 bash 和 zsh)的标准特性。
为了实现在 Shell 中每次启动一个命令时在后台运行的基本作业控制,命令(可以是任何合法的命令行,甚至是内联脚本)给出了作业引用 ID。
$ find / -name "core" >/tmp/corelist 2>&1 &
[3] 11957
更多精彩
赞助商链接