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“命令重新连接先前的进程,即恢复会话,具体如下所示:

 

posted @ 2023-11-19 21:20  oushijiel  阅读(38)  评论(0)    收藏  举报