您的位置:首页 > 运维架构 > Linux

【Linux学习笔记二十三】进程和服务的管理

2013-05-21 17:35 821 查看
一、 进程状态查看

1、ps命令——查看静态的进程统计信息
格式:ps [选项]

不使用任何选项的ps命令,将只显示当前用户在当前终端启动的进程:



使用“-l”选项可以以长格式显示进程的详细信息:



S表示进程的状态:R 表示运行状态或就绪状态
S表示进程正处在休眠状态,但可以被唤醒 (在等待某事件完成)
T表示暂停或终止状态
Z表示僵死状态,进程已经停止,但无法移出内存。
UID是进程启动者的用户ID:0表示是由root用户启动的进程。
PID是进程的ID:PID是唯一的,但并不固定。
PPID是父进程的ID:如上图中第一行的bash进程就是第二行ps进程的父进程。父进程和子进程之间的关系是管理和
被管理的关系,当父进程终止时,子进程也随之而终止,但子进程终止,父进程并不一定终止。
C是进程最近使用CPU的估算:
PRI/NI是进程的优先级:数字越小优先级越高。
SZ是进程占用内存空间的大小:以KB为单位。
WCHAN表示进程是否正在运行中:-表示正在运行中。
TTY是进程所在终端的终端号:其中桌面环境的终端窗口表示为pts/n(n表示打开的是第n个终端窗口),字符界面的终端号为tty1-tty6,“?”表示未知或不需要终端。
TIME是进程从启动以来占用CPU的总时间:尽管有的命令已经运转了很长时间,但是它们真正使用CPU的时间往往很短,所以该字段的值通常是00:00:00。
CMD是启动该进程的命令名称:
使用“aux”选项显示系统中所有进程的详细信息:



a选项:显示当前终端上所有的进程,包括其他用户的进程信息。
u选项:显示面向用户的格式(包括用户名、CPU及内存使用情况等信息)。
x选项:显示后台进程的信息。
主要输出项说明:
USER:用户名。
%CPU:进程占用CPU的时间与总时间的百分比。
%MEM:进程占用内存与系统内存总量的百分比。
VSZ:进程占用的虚拟内存(swap空间)的大小,单位KB。
RSS:进程占用的物理内存的大小,单位KB。
STAT:进程的状态。
START:进程的开始时间。
由于“ps aux”命令显示的内容过多,所以一般都是跟“more”或“grep”命令结合起来使用。
例,分页显示系统中所有进程的详细信息。
[root@localhost ~]# ps aux |more
例,显示系统中所有进程的详细信息并保存到指定的文件中。
[root@localhost ~]# ps aux > ps001.txt
例,查看所有进程的信息,过滤出包含有“bash”的进程信息



2、top命令——查看进程动态信息
top命令将会在当前终端以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每3秒钟刷新一次,其作用类似于Windows系统中的“任务管理器”。由于过于消耗资源,所以在生产环境中top命令用的比较少



第一行显示的内容和uptime命令一样,【l】可以显示和隐藏这个区域:
top: 这个没有什么意思,只是个名称而以;13:43:34: 系统当前时间;up 24 days,21:34 : 系统开机到现在经过了多少时间,24天21小时34分钟;1 users : 当前1用户在线;load average:0.02,0.04,0.01: 系统1分钟、5分钟、15分钟的CPU负载信息
第二行:

Tasks:英文意思是工作;任务;差事;107 total:很好理解,就是当前有38个任务,也就是38个进程;1 running:1个进程正在运行;106 sleeping:106个进程睡眠;0 stopped:停止的进程数;0 zombie:僵死的进程数
第三行:
Cpu(s):表示这一行显示CPU总体信息;2.1%us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间。;0.3%sy:内核占用CPU时间百分比;0.0%ni:renice值为负的任务的用户态进程的CPU时间百分比。nice是优先级的意思;96.9%id:空闲CPU时间百分比;0.3%wa:等待I/O的CPU时间百分比;0.3%hi:CPU硬中断时间百分比;0.0%si:CPU软中断时间百分比;0.0%st:我不知道
第四行:

Men:内存的意思;1939992k total:物理内存总量;9470846k used:使用的物理内存量;992908 free:空闲的物理内存量;209009k buffers:用作内核缓存的物理内存量;Swap:交换空间;2066424k total:交换区总量;0k used:使用的交换区量;20664246k free:空闲的交换区量;538096k cached:缓冲交换区总量
第五行:

PID:进程的ID;USER:进程所有者;PR:进程的优先级别,越小越优先被执行;NI:NInice值,负值表示高优先级,正值表示低优先级;VIRT:进程占用的虚拟内存;RES:进程占用的物理内存;SHR:进程使用的共享内存;S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数;%CPU:进程占用CPU的使用率;%MEM:进程使用的物理内存和总内存的百分比;TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值;COMMAND:进程启动命令名称
linux top命令操作指令:

q:退出top命令
<Space>:立即刷新

s:设置刷新时间间隔

c:显示命令完全模式

t::显示或隐藏进程和CPU状态信息

m:显示或隐藏内存状态信息

l:显示或隐藏uptime信息

f:增加或减少进程显示标志

S:累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+

P:按%CPU使用率排行

T:按MITE+排行

M:按%MEM排行

u:指定显示用户进程

r:修改进程renice值

kkill:进程

i:只显示正在运行的进程

W:保存对top的设置到文件~/.toprc,下次启动将自动调用toprc文件的设置。

h:帮助命令。

二、 进程控制

后台启动:在整个命令行的最后加上一个“&”符号
进程挂起:按Ctrl+Z组合键可以将当前进程挂起(调入后台并停止执行),这种操作在需要暂停当前进程并进行其
它操作时特别有用。
显示后台进程:jobs -l
[root@localhost ~]# jobs -l
[1]+ 5543 停止 cp -i /dev/cdrom mycd.iso
在jobs命令的输出结果中,每一行记录对应一个后台进程的状态信息,行首的数字表示该进程在后台的任务编号。若当前终端没有后台进程,将不会显示任何信息。

使用fg命令将后台的进程任务重新调入终端的前台执行,指定后台进程对应的任务编号。
[root@localhost ~]# fg 1
cp -i /dev/cdrom mycd.iso
再次按Ctrl+Z组合键将该进程暂停,然后用bg命令将进程放回后台执行:
[root@localhost ~]# bg 1
[1]+ cp -i /dev/cdrom mycd.iso &

3、终止进程执行
Ctrl+C
kill命令
kill
kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止 (TERM) 的信号;其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑, 砍掉, 结束; 详细的信号可以用 kill -l
将 pid 为 323 的行程砍掉 (kill) :
   kill -9 323
将 pid 为 456 的行程重跑 (restart) :
   kill -HUP 456

使用kill命令终止进程时,需要使用进程的PID号作为参数。
如使用“jobs –l”命令查出后台运行的进程的PID号,然后用kill命令终止:
[root@localhost ~]# jobs -l
[1]+ 5671 Running cp -i mycd.iso /tmp &
[root@localhost ~]# kill 5671
[root@localhost ~]#
[1]+ 已终止 cp -i mycd.iso /tmp
kill命令通过向进程发出终止信号使其正常退出运行,若进程已经无法响应终止信号,则可以结合“-9”选项强行杀死进程。强制终止进程时可能会导致程序运行的部分数据丢失,因此不到不得已时不用轻易使用“-9”选项。

4.登陆用户查看
users命令只能列出当前登录的用户名。
[root@localhost ~]# users
root root root root
who命令可以列出用户名、终端、登录时间、来源地点等信息。
[root@localhost ~]# who
root tty1 2011-11-04 16:27 (:0)
root pts/0 2011-11-04 16:28 (:0.0)
root pts/1 2012-11-04 21:58 (192.168.232.1)
root pts/2 2012-11-04 23:02 (192.168.232.1)
w命令可以列出用户名、终端、来源地点、登录时间、执行的命令等参数。
[root@localhost ~]# w
00:03:34 up 7:37, 4 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 :0 04Nov11 366days 10.91s 10.91s /usr/bin/Xorg :
root pts/0 :0.0 04Nov11 3:00m 0.12s 0.12s /bin/bash
root pts/1 192.168.232.1 21:58 1:54m 0.19s 0.19s -bash
root pts/2 192.168.232.1 23:02 0.00s 0.46s 0.02s w
查看用户登陆终端PID
以zhangsan为例:



查找可疑用户登录终端所对应的PID



zhangsan登陆的终端pts/5对应的PID为20897,
强制结束该进程:# kill -9 20897

一、 通过service命令管理服务
通过service命令可以查看、启动、停止或者重启服务

查看sshd服务的状态:
[root@localhost ~]# service sshd status
openssh-daemon (pid 1638) 正在运行...

启动httpd服务:
[root@localhost ~]# service httpd start
正在启动 httpd:httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[确定]

重启httpd服务:
[root@localhost ~]# service httpd restart
停止 httpd: [确定]
正在启动 httpd:httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[确定]

停止httpd服务。
[root@localhost ~]# service httpd stop
停止 httpd: [确定]

二、 通过chkconfig命令管理服务
chkconfig命令将服务永久关闭或启动

查看sshd服务在各运行级别中的启动状态
[root@localhost ~]# chkconfig --list sshd
sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
可以看到sshd服务在运行级别2、3、4、5中是开启的,而在运行级别0、1、6中是关闭的

将chkconfig命令与“--level”选项配置使用,可以设置指定服务在指定运行级别中的启动状态:

将sshd服务在运行级别2、4中的启动状态设置为off(关闭)。
[root@localhost ~]# chkconfig --level 24 sshd off
[root@localhost ~]# chkconfig --list sshd
sshd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭

将httpd服务在运行级别3、5中的启动状态设置为on(开启)。
[root@localhost ~]# chkconfig --level 35 httpd on
[root@localhost ~]# chkconfig --list httpd
httpd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
如果不加“—level”选项,chkconfig命令默认将在运行级别2、3、4、5中启动或停止指定的服务。
将httpd服务设置为随系统自动启动。
[root@localhost ~]# chkconfig httpd on
[root@localhost ~]# chkconfig --list httpd
httpd 0:关闭 1:关闭 2: 启用 3:启用 4: 启用 5:启用 6:关闭

实例:以vsftpd服务为例

首先查询系统中是否已经安装了vsftpd程序。
[root@localhost ~]# rpm –qa | grep vsftpd
确认程序没有安装后,用yum安装程序。
[root@localhost ~]# yum install vsftpd
用service命令启动服务。
[root@localhost ~]# service vsftpd start
为 vsftpd 启动 vsftpd: [确定]
用chkconfig命令将服务设为自启动,并查看启动状态。
[root@localhost ~]# chkconfig vsftpd on
[root@localhost ~]# chkconfig --list vsftpd
vsftpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

本文出自 “水滴石穿” 博客,请务必保留此出处http://pengyl.blog.51cto.com/5591604/1206035
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: