首页 > 代码库 > Linux学习笔记033_11进程

Linux学习笔记033_11进程

ps:(process information,静态的)

显示进程信息,不加参数显示当前终端的进程

a:包括所有终端的进程

x:不属于任何终端的进程,和任何用户无关系的进程

u:显示出进程的拥有人

f:显示进程的附属关系(依赖关系,父子进程)

wKiom1PuGn6xSrj3AADAdYR-7fA658.jpg

USER:进程的拥有人

PID:进程ID,默认用进程ID排序

VSZ:程序在运行时调用多少虚拟内存

RSS:真实内存

TTY:?不属于任何终端,进入终端之前就运行

STAT:状态,s为睡眠

TIME:进程持续时间

COMMAND:运行这个进程的指令

ps axo pid,%cpu:定制想要的信息,只看pid和CPU使用率

pgrep -U root:过滤出拥有人为root的进程

pgrep -G student:过滤出student组的所有成员的进程

wKiom1PuG3XjL2FoAAA0XZz7eOU408.jpgspacer.gif:httpd这个程序调用了哪些进程

pstree:显示进程树

top:动态刷新的进程,用CPU使用率排序,5s刷新一次

signal(信号):

15:正常结束

9:强制结束,会产生垃圾文件

1:重新读取配置文件,如修改ftp配置文件要立即生效要重新读取配置文件,而不会影响现有用户,也可以使用service vsftpd reload,效果一样,实质也是发送信号1,但是有的应用不支持

man 7 signal:查看所有的信号帮助

结束进程:

by PID:kill -[15,9,1] 6316:默认15,正常结束

by name:killall httpd:有的应用有很多进程,通过名称比较方便

by pattern:pkill 进程名称/PID

进程优先级:

用nice的值表示进程优先级,范围为-20~19,数字越小优先级越高,默认为0

ps -o 

ps axo pid,nice,comm:查看进程优先级

top中的NI字段为优先级,只显示前十个占用资源最大的进程

调整优先级:(只有root能提高优先级,普通用户只能降低优先级)

运行前:nice -n 5 comm:nice -n 5 vim a.txt

正在运行:renice -5 pid:renice -5 4813

图形界面的进程管理:

gnome-system-monitor

把一个程序换到后台运行:

wKiom1PuHNOw6he-AABFE-0aTdw057.jpg

这里由于/usr/目录比较大所以会执行很久卡在这里,可以输入&然后回车把这个进程调入后台运行,jobs命令可以看出其正在运行

暂停一个正在运行的进程:
crtl+z或者发送信号19

spacer.gif

wKioL1PuHiGic70jAABIW81ClYM313.jpg

wKioL1PuHiHjG9VEAACG0Z26_L8490.jpg

+为缺省任务

[1]为任务号

bg %任务号:激活后台暂停的任务,激活后还工作在后台

wKiom1PuHXiAkz3YAABEQmglFMI935.jpg

fg %任务号:把后台暂停的任务拉到前端并且工作

wKioL1PuHp6xkI6oAABdm80JSZ8332.jpg

kill [-signal] %任务号:结束后台程序,不会产生垃圾文件

计划任务:(进程不立即执行)

at:计划任务只执行一次

crontab(定时任务):周期性执行,也可以实现at的功能

wKioL1PuHxmRIvQrAABXDUqZEHM876.jpg

at:

wKiom1PuHhPTW95BAABvjZja5so314.jpg

crtl+d结束编辑

wKioL1PuHznRj4W1AAAnArJdL10080.jpg

删除

at的任务不能编辑,不显示在显示器,要通过mail查看

crontab:

crontab -e:编辑任务

时间格式:分钟 小时 天 月 星期(0~6)

0 14 * * * echo hello:每天的下午两点打印hello

0 14 * *1,6 *1-5 echo hello:每年的1,6月的每个星期1-5的下午2点

* */1 * * * echo hello:每隔一小时

vim /etc/crontab:

wKiom1PuHoyCSeGoAAC97YWNURs477.jpg

不同的时间执行文件夹下的所有文件

命令结果状态:

wKiom1PuHpiyacLFAAAu80pFTKw753.jpg

0代表成功,1~255代表失败

命令关系:

&&:与关系,command 1 && command2:命令1执行成功才执行命令2

||:或关系:command 1 || command 2:命令1执行失败才执行命令2

wKiom1PuHqajbOUaAACR_XVgjyU513.jpg

test:
A=123

B=123

test "$A" = "$B"

echo $?

0

wKiom1PuHxzDSa3LAADLp1NsDNk902.jpg

-f:文件存在且是一个常规文件:test -f a.txt && echo "a.txt exit and it‘s a regular file"

-d:文件存在且是一个目录

-x:文件存在且有执行权限

if:

spacer.gifwKioL1PuIBPBaT3CAACdGIGPYrg281.jpg

ping station1,如果成功打印station1 ip up,如果失败则查找维护列表有无station1,如果有打印station1 is undergoing maintenance,如果没有则打印station1 is unexpectedly down,并返回1


本文出自 “flyclc” 博客,请务必保留此出处http://flyclc.blog.51cto.com/1385758/1540856