您现在的位置是:首页 > 文章详情

初识LINUX程序管理

日期:2018-04-29点击:503
一,进程(process)
1,进程的概念:一个程序在运行时,在内存中的体现。
2,进程(process)与程序(program)的区别:
前者是动态,后者是静态
程序不运行时,只是放在硬盘里,没有占用CPU和内存。
每个进程都有一个ID,成为PID。、
3,LINUX可以同时让多个人进行登录(多用户),而且同时可以运行多个任务(多任务),WINDOWS就是多任务操作系统,比如我可以一边听歌,一边看新闻。但是WINDOWS不算多用户系统。
4,进程与线程:一个进程由多个成为线程的执行单元组成。
二,job control的管理
1,查看后台有哪些程序:jobs
直接让程序后台停止运行,按下ctrl+Z即可,这时候,程序成为不可用。
恢复后台被停止的程序:bg 程序ID
2,直接让程序在后台运行,不影响终端里的敲命令功能:程序名 &
调回前台来:fg 程序ID(此时前台终端不可用)
3, 删掉后台程序:kill -9 %程序ID
-9:强制删除
%:表示后台程序
4,如果有个程序,你把它放在后台,但是如果它有输出的话,它还是会输出在屏幕上。
二,脱机管理:希望在关掉控制台(终端窗口或者远程登录窗口)后,程序依旧运行。
nohup 运行命令
比如:nohup ping localhost
三,查看进程信息
1,查看进程:ps命令
直接敲ps:当前shell运行的所有进程
-l:还可以显示PID,PPID(显示父进程,何为父进程?A进程在运行时,产生了B进程,那么A进程就是B进程的父进程,B进程是A进程的子进程)。LINUX中,所有进程的父进程就是PID为1的init进程。可使用pidof init查看。
2,查看系统中所有的进程:ps aux
a:显示所有的进程(除去和终端相关的进程)
u:显示进程的所有者
x:显示更详细的信息
e:跟a参数的意思差不多
3,查看进程相信信息:
A,查看进程的名字:ps ex -o comm
B,显示进程的CPU使用量:ps ex -o comm,%cpu
C,查看进程的PID与CPU使用量:ps ex -o comm,pid,%cpu
D,查看进程的PID,CPU使用量,内存:ps ex -o comm,%cpu,%mem
E,查看状态:ps ex -o comm,stat
如果睡眠状态为S,表示是睡眠状态,我们可以唤醒它。
如果状态为R,表示正在运行。
如果是Z,则表示僵尸状态,这个进程已经死了,但是我们无法清除它。
如果是T,就是停止状态。
如果是D,不可唤醒。
-o:表示格式
comm表示common
四,进程管理
要想对进程进行管理,就必须对进程发送信号,使用kill命令对进程发送信号
kill --选项 PID
1,系统当前的信号:kill -l
2,杀死进程:kill -9 PID,其中选项9代表“强制”。
还可以killall -p 程序名。(说实话,下面这种更加方便点)
3,查找进程的PID:pidof 进程名:比如 pidof bash
4,pgrep -U root:查看root的所有的PID
五,进程的执行顺序,默认情况下,是
1,查看进程优先级:top,此命令可以实时查看内存的变化,默认情况下,3秒钟跳一次
可以使用top -d 来改变跳的时间,比如改成每秒钟跳一次,top -d 1
2,top命令执行后,会有这样一个东西:
这个wa是指输入输出接口,因为此时我正在执行
dd if =/dev/zero of=file bs=1M count=1000,故而数值非常大。
4,NI表示nice,数值越小,表示进程优先级越高
PR表示priority,进程的优先执行顺序,越小越先执行。
进程优先级数值=优先系数+NICE,优先系数一般是静态的,由内核指定,用户无法改变,但是这个NICE值,用户可以改变。NICE值的范围是-20~~19。优先级数值越大,进程优先级越低。
5,如何改变进程优先级:
A,以下两种办法,直接改变处于运行状态的进程(在线修改),重启机器后无效。
第一种办法:直接使用top命令后,按键“r”,先输入需要修改的进程的PID,然后输入新的NICE值。
第二种办法,renice 新nice值 PID。
B,下面的这种办法,可以让进程一开始就按照指定的优先级运行,且重启有效。
第三种办法,nice -n 新nice值 PID
五,查看系统资源
1,free:查看系统资源使用了多少,还剩多少。
2,uptime:显示出top命令第一行的内容。
3,vmstat:显示内存,交换分区,接口等的信息。
vmstat 1 3 表示每秒钟执行一次,总共执行三次
4,nestat:查看网络状态
六,特殊文件权限(SUID,GUID,SBIT)
我们都知道,/usr/bin/passwd 这个命令,具体权限是:rwsr-xr-xz,即在用户的执行权限上多了一个x,即SUID,我现在按下ctrl+z+enter,让passwd这个命令在后台执行,我们再来运行pstree -u这个命令来查看进程树。可以看到:
可以清楚地看到,在用户yusahn下运行passwd命令时,是以root账户的身份来运行的。
原文链接:https://www.centoschina.cn/course/introduction/10430.html
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章