linux进程管理
1.目的
查看系统中运行的程序和进程、判断服务器的健康状态和强制中止不需要的进程。
定义:程序是人使用计算机语言编写的,可以实现一定功能,并且可以执行的代码集合。而进程是正在执行中的程序。当程序被执行时,执行人的权限和属性,以及程序的代码都会被加载入内存,操作系统给这个进程分配一个 ID,称为 PID(进程 ID)。
某些进程会产生一些新的进程,我们把这些进程称作子进程,而把这个进程本身称作父进程。比如,我们必须正常登录到 [Shell]环境中才能执行系统命令,而 Linux 的标准 Shell 是 bash。我们在 bash 当中执行了ls命令,那么 bash 就是父进程,而 ls 命令是在 bash 进程中产生的进程,所以 ls 进程是 bash 进程的子进程。也就是说,子进程是依赖父进程而产生的,如果父进程不存在,那么子进程也不存在了。
2.查看系统中正在运行的进程
ps -A #所有进程
ps -a #当前环境下所运行的进程(不包含详细信息)
ps -u #显示进程的用户信息
ps a #在当前环境中运行的进程(包含详细信息)
ps x #列出系统中运行
ps f #显示pid
ps e #显
ps常用组合
ps aux #显示所有进程并显示进程的用户
ps ef #显示进程的详细信息的pid
ps ax #显示当前系统中的所有进程
显示进程的指定信息
ps -o comm #显示进程的名称
ps -o user #显示进程的拥有者
ps -o group#进程的所属组
ps -o %cpu #进程对cpu的使用率
ps -o %mem #进程对内存的使用率
ps -o pid #进程的id
ps -o nice #进程的优先级
ps ax --sort=+%cpu #进程对cpu的正排序
ps ax --sort=-%cpu #进程对cpu逆排序
ps ax --sort=+%mem #进程对内存的正排序
ps ax --sort=-%mem #进程对内存逆排序
3.进程的优先级
设置范围:-20 - 19:数字越小优先级越高
ps ax -o pid/nice/comm 单个要素查看
nice -n #指定进程优先级为-5
renice -n 5 pid #修改进程优先级
[root@foundation74 Desktop]# nice -n 5 vim file & //开启vim并且指定程序优先级为5
[root@foundation74 Desktop]# ps -le //NI代表刚刚设置的优先级,PRI += NI
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 T 0 31304 2699 0 85 5 - 36649 signal pts/0 00:00:00
[root@foundation74 Desktop]# renice -n -5 31304 //修改进程优先级位-5
31304 (process ID) old priority 5, new priority -5
4.进程的前后台调用
command & #让命令直接在后台运行,在后台处于执行状态
jobs #查看当前终端放入后台的工作
jobs -l #显示工作的 PID
ctrl+z #把占用终端的进程放入后台 ,在后台处于暂停状态
fg jobsnum #把后台的进程调回前台(在前台运行)
bg jobsnum #把后台暂停的进程运行(在后台运行)
[root@foundation74 Desktop]# vim file & //vim直接在后台运行
[1] 27689
[root@foundation74 Desktop]# jobs //查看当前后台进程
[1]+ Stopped vim file
[root@foundation74 Desktop]# watch /etc/passwd -n 3 //ctrl+z把当前进程放入后台,状态为暂停执行
[2]+ Stopped watch /etc/passwd -n 3
[root@foundation74 Desktop]# jobs //当前进程有两个
[1]- Stopped vim file //"-"号代表倒数第二个放入后台的工作
[2]+ Stopped watch /etc/passwd -n 3 //"+"代表这个命令是最近一个被放入后台的。
[root@foundation74 Desktop]# fg 2 //把后台的进程watch调回前台
[root@foundation74 Desktop]# bg 1 //把后台暂停的vim进程运行
//有些程序不能在后台运行,所以可以把他调用到前台运行,然后结束他,或者kill -9
网友评论