linux之程序与进程的管理及screen的使用

来源:互联网 发布:生成对抗网络 用途 编辑:程序博客网 时间:2024/06/06 18:09

RHEL-程序与进程的管理

程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。为进行某活动或过程所规定的途径;

进程:是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。简单来说是指运行中的程序

比如所用的www的服务器是apache服务器,当管理员启动服务后,可能有很多人来访问,也就是说许多用户来同时请求http服务,apache服务器将会创建多个httpd进程来对其进行服务

对于linux进程的管理,是通过进程管理工具实现的,比如pskillpgrep等工具

 

ps——监视进程工具(静态)

语法   #ps 【参数】

             -l    长格式输出

             -u    按用户和启动时间的顺序来显示进程

             -f     用树形格式来显示进程

             -a    显示所有用户的所有进程(包括其他用户)

             -r    显示运行中的进程

             -e    显示所有进程,包括没有控制终端的进程

显示进程(BSD格式)           #ps  -aux

显示进程(标准格式)            #ps  -ef

对于#ps –aux输出上层的解释

USER 进程的属主            PID 进程的id

PPID 父进程                    %cpu 进程占用的cpu百分比

%MEM 占用内存的百分比 NI 进程的nice值(#ps -ef)优先级

VSZ 进程占用虚拟内存大小,swap分区

RSS 固定的内存使用数量

TTY 进程启动的终端ID,其中?表示与终端无关

STAT 进程状态:R正在运行中的在队列中可执行的  S处于休眠状态

                           T停止或被跟踪,挂起                    Z僵尸进程

                           N优先级较低的进程                       L有些页被锁进内存

                           S父进程,下面之下有子进程

START启动进程的时间            TIME 进程消耗CPU的时间

CIMMAND 命令的名称和参数

 

top动态查看进程

语法  #top       其中空格刷新

务队列信息(第一行)

21:13:25当前时间

up 52 min     系统运行时间,格式为时:

4 users,  当前登录用户数

load average: 0.06, 0.03, 0.05    系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

 

进程和CPU的信息(第二、三行)

Tasks: 29 total      进程总数

1 running     正在运行的进程数

28 sleeping   睡眠的进程数

1 stopped     停止的进程数

0 zombie僵尸进程数

Cpu(s):

0.3% us  系统用户进程使用CPU百分比。

1.0% sy   内核中的进程占用CPU百分比

0.0% ni   用户进程空间内改变过优先级的进程占用CPU百分比

98.7% id 空闲CPU百分比 

内存信息(第四五行)

Mem: 191272k total    物理内存总量

173656k used使用的物理内存总量

17616k free  空闲内存总量

22052k buff/cache用作内核缓存的内存量。

free –k一个意思

Swap: 192772k total   交换区总量

0k used 使用的交换区总量

192772k free空闲交换区总量

3123008 avail Mem    总的可利用内存是多少

排序 MEM(内存)排序  M

       CPU排序          P

 

Pgrep管理工具,查看服务进程号

语法:         #pgrep  服务名称

Eg#pgrep httpd

 

 

关于proc目录  #ls  /proc

 /proc是一个存放内存的特许目录,这个目录比较特殊,它并不在我们的磁盘上,而在我们的内存当中,当前系统运行的所有进程都动态的存放这个目录

 

进程的中止和挂起

控制(关闭)进程:kill 语法:#kill 进程号

通过信号的方式来控制进程

查看kill命令的信号    #kill –l

-9 终止进程 #kill -9 进程号——强制关闭

-1 重启进程 #kill -1 进程号

关闭所有进程 #killall

Ctrl+c是发送SIGINT信号,终止一个进程

Ctrl+z是发送SIGTOP信号,挂起一个进程

 

系统中有两种运行的进程,我们前台是看不到的,一种是后台执行的命令,一种是被暂停的

查看被挂起的进程            #jobs

恢复到前台继续运行         #fg

恢复到后台继续运行         #bg

 

优先级管理

优先级的取值范围:-20~19

优先级值越小越高,默认优先级为0

nice指定程序的优先级

语法:        #nice -n command

Eg#nice -6 vi a.txt

查看程序的优先级 #top -p pid

renice 改变正在运行中程序的优先级

语法:        #renice n pid

查看内存情况#free -m

 

 

 

Screen的安装和使用

Screen是一个可以在多个进程之间多路复用的一个物理终端的窗口管理器,screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/ssh连接窗口一样

安装screen软件包

#rpm –ivh /mnt/packages/screen-4.1.0-0.20126314git3c2946.el7.x86_64.rpm

#screen  创建

Exit退出当前窗口

暂时中断会话           ctrl+a+d

找到该screen会话:#screen–ls

重新连接会话            #screen -r id

 

 

0 0