程序员必知必会----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:显示所有信息
ps -eo psr,user,pid,ppid,command | grep httpd #查看进程运行在第几块CPU上
psr : cpunum
taskset -cp 1 10288 #绑定PID为10288的进程到第一块CPU,这样该进程就不会暂用其它的CPU资源了
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