Linux--进程管理
什么是进程?
进程的含义为正在运行的程序,包括这个运行的程序所占用的系统资源。进程是具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度的一个独立单位。同一个程序,同一时刻被两次运行了,它们就是两个独立的进程。
每个进程都有唯一的进程标识PID,一个PID只能标识一个进程,PPID为父进程ID。需要给该进程分配系统资源。
进程一般分为3种状态:就绪态、运行态、阻塞态。它们之间的关系看下图:

下面就是在Linux系统下对进程进行操作的一些基本命令:
1.静态查看进程:
[root@qfedu~]# ps aux
2.查看CPU占用率,想要以指定的字段排序:
[root@qfedu~]# ps aux --sort-(字段名,如cpu占用率%cpu)
3.查看UID 、PID、PPID等信息:
[root@qfedu~]# ps -ef
4.查看指定进程PID:
(1)[root@qfedu~]# cat (进程路径)
(2)[root@qfedu~]# pidof (进程名)
(3)[root@qfedu~]# pgrep (进程名)
5.动态查看进程:
[root@qfedu~]# top
M键以内存占用率排序;
P键以CPU占用率排序;
N键以PID数值大小排序;
R键对排序进行反转;
1键显示所有CPU负载;
添加“-d”参数设置刷新时间,以秒为单位;
[root@qfedu~]# top -d (刷新的时间)
其他参数:
-p:指定查看一个或多个进程的动态信息
-u:查看指定用户的进程
-n:设置刷新的次数
以上参数可以叠加使用。
6.终止指定进程的运行:
[root@qfedu~]# kill (进程PID)
-l:查看全部信号
终止某个指定名称的服务所对应的全部进程:
[root@qfedu~]# killall (服务进程)
7.创建前台运行的sleep进程与后台运行的sleep进程:
[root@qfedu~]# sleep 7000 & --后台
[root@qfedu~]# sleep 8000 --前台
8.显示当前Shell中的作业列表及状态:
[root@qfedu~]# jobs
9.把任务移动至后台:
[root@qfedu~]# bg (作业ID)
10.把后台进程移动至前台:
[root@qfedu~]# fg (作业ID)
注:使用fg命令时,若不添加任何作业号,则默认调用最近的一个进程。
实例:管理远程主机
Screen 是一款用于会话终端切换的多重视窗管理软件。用户可以通过该软件同时连接多个本地或远程主机。当远程连接一台主机时,如身果出现连接非正常中断,只要Screen没有终止运行,再次登录到主机上执行“screen-r”命令,就可以恢复此前在其内部运行的会话。
使用yum 安装 Screen,显示完毕即成功安装,具体如下所示。

安装成功后,因为生产环境中可能存在很多进程,为了方便区分,首先要为该进程命名。使用 screen 命令并添加“-S”参数敛,将进程命名为linux,执行该进程,并关闭终端。
具体如下所示。

通过“screen -list"命令查看当前会话,具体如下所示:

最后使用”screen -r“命令重新连接先前的进程,即恢复会话,具体如下所示:


 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号