首页 > 代码库 > Linux学习笔记033_11进程
Linux学习笔记033_11进程
ps:(process information,静态的)
显示进程信息,不加参数显示当前终端的进程
a:包括所有终端的进程
x:不属于任何终端的进程,和任何用户无关系的进程
u:显示出进程的拥有人
f:显示进程的附属关系(依赖关系,父子进程)
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组的所有成员的进程
: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
把一个程序换到后台运行:
这里由于/usr/目录比较大所以会执行很久卡在这里,可以输入&然后回车把这个进程调入后台运行,jobs命令可以看出其正在运行
暂停一个正在运行的进程:
crtl+z或者发送信号19
+为缺省任务
[1]为任务号
bg %任务号:激活后台暂停的任务,激活后还工作在后台
fg %任务号:把后台暂停的任务拉到前端并且工作
kill [-signal] %任务号:结束后台程序,不会产生垃圾文件
计划任务:(进程不立即执行)
at:计划任务只执行一次
crontab(定时任务):周期性执行,也可以实现at的功能
at:
crtl+d结束编辑
删除
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:
不同的时间执行文件夹下的所有文件
命令结果状态:
0代表成功,1~255代表失败
命令关系:
&&:与关系,command 1 && command2:命令1执行成功才执行命令2
||:或关系:command 1 || command 2:命令1执行失败才执行命令2
test:
A=123
B=123
test "$A" = "$B"
echo $?
0
-f:文件存在且是一个常规文件:test -f a.txt && echo "a.txt exit and it‘s a regular file"
-d:文件存在且是一个目录
-x:文件存在且有执行权限
if:
ping station1,如果成功打印station1 ip up,如果失败则查找维护列表有无station1,如果有打印station1 is undergoing maintenance,如果没有则打印station1 is unexpectedly down,并返回1
本文出自 “flyclc” 博客,请务必保留此出处http://flyclc.blog.51cto.com/1385758/1540856