日期:2014-05-16  浏览次数:20748 次

程序员必知必会----linux常用命令之五【进程管理】

进程管理

w:查看当前登录用户的信息

load average:系统在过去1、5、15分钟内的平均负载程度

FROM:用户从何处登录,:0表示通过X window

IDLE:用户闲置时间

JCPU:该终端所有进程执行时所消耗的cpu时间

PCPU:cpu执行程序消耗的时间

WHAT:用户正在执行的操作

?

who:查看当前的登录用户及其登录时间

?

/proc:目录中存放当前进程PID命名的目录以及系统相关信息文件

cpuinfo:cup信息

meminfo:内存信息

partitions:硬盘分区

?

1.查看进程

pstree:树状查看

ps:查看当前用户的进程

ps -aux :查看全部进程

-a:所有用户

-x:没有控制终端的

-u:显示用户名和启动时间

ps -ef :同上

-e:显示所有进程,包括用户和没有控制终端

-f:显示所有信息

?

USER:进程的执行用户

PID:进程号

PPID:父进程号

TTY:进程启动的终端

STAT:进程的当前状态,S:休眠 ?D:不可中断的休眠 R:运行 Z:僵死 T:停止

NI:进程优先级

TIME:进程自启动以来占用CPU的总时间

CMD/COMMAND:执行的命令

%CPU:占用CPU时间和总时间的百分比

%MEM:占用内存与系统内存总量的百分比

?

ps -aux --sort pid:按pid排序

?

ps -ef | grep tomcat :ps一般结合grep使用

?

2.杀死进程

kill -9 进程号 :强行关闭

kill -1 进程号 :重启进程

killall 进程名称

pkill 进程名称

pgrep 进程名称:查找服务的进程号

?

3.运行优先级

nice -n commond:指定命令的运行优先级

renice n pid:改变一个正在运行的进程的优先级

n:取值范围(-20,19),越小,优先级越高

?

4.进程的挂起和恢复

Ctrl+C :终止

Ctrl+Z :挂起,暂停

bg num :恢复到后台继续运行

fg num :恢复到前台继续运行

jobs :查看被挂起或正在后台运行的进程,会显示编号num

commond &:后台运行,但用户退出会终止进程

nohup commond &:后台执行,即便用户退出登录依然继续执行

?

5.top

动态显示进程状态,默认每3秒刷新一次

h:获得帮助

d:指定刷新时间

c:显示整个命令行

u:查看指定用户的进程

k:终止执行中的进程 pid

r:重新设置进程优先级 n pid

?

6.计划任务

1)at:执行一次,安装:yum install at -y

例子:

at -f xx.sh 17:30 :今天17:30执行xx.sh

?时间格式:

5:30pm

17:30

17:30 today

now +3 hours

now +180 minutes

17:30 14.2.28

Ctrl+D:保存任务

ps -aux |grep atd:查看进程是否启动

启动进程:/etc/rc.d/init.d/atd start

?

at -l:查看当前at队列,显示编号num,atq

at -d num :删除任务 atrm num

/var/spool/at:at任务存放在该目录下

?

用户限制:

/etc/at.allow:如果文件存在,则只有此文件中列出的用户可以使用at命令

/etc/at.deny:如果文件存在,则此文件中列出的用户不可以使用at命令

?

如果以上两个文件都不存在,则只有root用户可以使用at命令

如果以上两个文件都存在,但是都为空,则所有用户都可以使用at命令

?

2)crontab:周期性计划任务

crontab -l:显示当前的计划队列

crontab -e:编辑计划队列

?

格式:

分钟[0~59] 小时[0~23] 日期[1~31] 月份[1~12] 星期[0~6] commands

?

例子:

*/5 * * * * command :每5分钟执行一次

0 9,18 * * 1-5 command :周一至周五每天9点和18点各执行一次?

?

查看进程:ps -aux | grep crond

启动进程:/etc/rc.d/init.d/crond start

?

/var/spool/cron:任务保存在该路径下

?

/etc/cron.allow与/etc/cron.deny:同at

?

?

?

7.设置系统服务的运行级别

chkconfig --list :查看全部系统服务的运行级别

chkconfig --list sshd :查看sshd系统服务的运行级别

chkconfig --level 2345 sshd on :修改sshd服务的运行级别为2345都启动

或者:chkconfig sshd on:默认就是开启2345运行级别

?

ntsysv ?:修改当前的运行级别下的服务

ntsysv --level 3 ?:修改3运行级别下的服务

使用空格修改,Tab键跳转到确定

?

?

8.查看进程端口

netstat -tunpl :查看端口是否启动,或者查看占用端口的进程

例子:

netstat -tunpl | grep sshd

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?