FreeBSD进程管理(2)

2009-05-13 13:37:09来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

可以给ps命令加上参数,来获得更多的输出内容,以下命令将输出系统中所有的进程:$ ps waux
USER   PID %CPU %MEM  VSZ RSS TT STAT STARTED   TIME COMMAND
wb    989 0.0 0.4  400 236 p2 R+  5:48PM  0:00.00 ps -aux
root    1 0.0 0.1  496  72 ?? Is  10:12PM  0:00.02 /sbin/init --
root    2 0.0 0.0   0  0 ?? DL  10:12PM  0:07.05 (pagedaemon)
root    3 0.0 0.0   0  0 ?? DL  10:12PM  0:00.20 (vmdaemon)
root    4 0.0 0.0   0  0 ?? DL  10:12PM  0:04.27 (syncer)
root   27 0.0 0.0  204  0 ?? IWs -     0:00.00 (adjkerntz)
root   91 0.0 0.5  820 328 ?? Is  2:12PM  0:00.82 syslogd
daemon  100 0.0 0.0  792  0 ?? IWs -     0:00.00 (portmap)
root   131 0.0 0.3  864 164 ?? Is  2:12PM  0:00.06 inetd
root   134 0.0 0.3  980 192 ?? Is  2:12PM  0:00.11 cron
root   138 0.0 0.6 1252 380 ?? Is  2:12PM  0:00.11 sendmail: accepti
wb    230 0.0 1.1 1540 668 v0 Is+  2:12PM  0:00.14 -bash (bash)
root   231 0.0 0.0  824  0 v1 IWs+ -     0:00.00 (getty)
root   232 0.0 0.0  824  0 v2 IWs+ -     0:00.00 (getty)
root   500 0.0 0.9  876 524 ?? Ss  4:19PM  0:01.78 telnetd
wb    501 0.0 1.4 1540 888 p2 Ss  4:19PM  0:00.24 -bash (bash)
root   698 0.0 1.5 1644 900 ?? Is  4:49PM  0:00.02 /usr/local/sbin/s
root   700 0.0 1.2 1308 748 ?? Ss  4:49PM  0:00.22 /usr/local/sbin/n
root   702 0.0 3.4 2900 2112 ?? S   4:49PM  0:00.32 /usr/local/sbin/s
root   764 0.0 0.9  880 540 ?? Is  5:10PM  0:00.22 telnetd
wb    765 0.0 1.7 1536 1052 p3 Is+  5:10PM  0:00.28 -bash (bash)
root    0 0.0 0.0   0  0 ?? DLs 10:12PM  0:00.02 (swapper)
  当用户启动一个进程的时候,这个进程是运行在前台,使用与相应控制终端相联系的标准输入、输出进行输入和输出。即使将进程的输入输出重定向,并将进程放在后台执行,进程仍然和当前终端设备有关系。正因为如此,在当前的登录会话结束时,控制终端设备将和登录进程相脱离,那么系统就向所有与这个终端相联系的进程发送SIGHUP的信号,通知进程线路已经挂起了,如果程序没有接管这个信号的处理,那么缺省的反应是进程结束。因此普通的程序并不能真正脱离登录会话而运行进程,为了使得在系统登录后还可以正常执行,只有使用命令nohup来启动相应程序。
从上面的ps的输出结果可以看出,有些程序没有控制终端,这些程序通常是一些后台进程。使用命令nohup当然可以启动这样的程序,但nohup启动的程序在进程执行完毕就退出,而常见的一些服务进程通常永久的运行在后台,不向屏幕输出结果。在Unix中这些永久的后台进程称为守护进程(daemon)。守护进程通常从系统启动时自动开始执行,系统关闭时才停止。如果偶然某个守护进程消失了,那么它提供的服务将不再能被使用。
  在守护进程中,最重要的一个是超级守护进程inetd,这个进程接管了大部分网络服务,但并不是对每个服务都自己进行处理,而是依据连接请求,启动不同的服务程序与客户机打交道。inetd支持网络服务种类在它的设置文件 /etc/inet.conf中定义。inet.conf文件中的每一行就对应一个端口地址,当inetd接受到连接这个端口的连接请求时,就启动相应的进程进行处理。使用inetd的好处是系统不必启动很多守护进程,从而节约了系统资源,然而使用inetd启动守护进程相应反应会迟缓一些,不适合用于被密集访问的服务进程。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FreeBSD进程管理(1)

下一篇:FreeBSD进程管理(3)