Linux-程序与进程学习_linux进程和程序的概念

启动进程的用户ID(UID)和所属组(GID)
进程状态:运行R  休眠S 僵尸Z
进程执行的优先级
进程所连接的终端名
进程资源占用:内存、cpu占用量

## **二,进程工具**


**1.进程静态查看工具 ps**  
 用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序



选项:
a: 显示当前终端关联的所有进程
u:基于用户的格式显示
x: 显示所有进程,不以终端来区分,通常与a这个参数一起使用。
-e:显示所有程序,与-A具有同样的效果
-l或l(小写L):采用详细的格式来显示程序状况。
-f:显示UID,PPID,C与STIME栏位。
-j或j:采用工作控制的格式显示程序状况。(jobs format)


**2.远程拷贝工具**  
  



本地的文件         远程的主机           目标路径
scp -rp /etc/yum.repos.d/* root@192.168.174.133:/etc/yum.repos.d/

scp -rp root@192.168.174.133:/etc/yum.repos.d/*  /etc/yum.repos.d/


**3.压力测试工具:ab**



yum安装 httpd-tools 包
ab -c 1000 -n 100000 http://192.168.174.131/index.html

-c 模拟的访问主机数
-n 建立多少个链接数


**ps常用方法**



ps aux 观察系统所有程序数据

[root@localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.3 125124 3628 ? Ss 04:07 0:00 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root 2 0.0 0.0 0 0 ? S 04:07 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 04:07 0:00 [ksoftirqd/0]
root 7 0.0 0.0 0 0 ? S 04:07 0:00 [migration/0]

USER :该 process 属于那个使用者帐号的?
PID :该 process 的程序识别码。
%CPU :该 process 使用掉的 CPU 资源百分比;
%MEM :该 process 所占用的实体内存百分比;
VSZ :该 process 使用掉的虚拟内存量 ( KBytes )
RSS :该 process 占用的固定的内存量 ( KBytes )
TTY :该 process 是在那个终端机上面运行,若与终端机无关则显示 ?,另外,
tty1-tty6 是本机上面的登陆者程序,若为pts/0 等等的,则表示为由网络连接进主机的程序。
STAT :该程序目前的状态,状态显示与 ps -l 的 S 旗标相同 ( R/S/T/Z)
R:runing 运行态
S:可中断睡眠态
D:不可中断睡眠态
T:停止态
Z:僵尸态
s:表示这个进程是个领导者进程
+:该进程为前台进程
l:该进程是多线程进程
N:低优先级进程
<: 高优先级进程
[]: 表示这个一个内核线程
START :该 process 被触发启动的时间;
TIME :该 process 实际使用 CPU 运行的时间。
COMMAND :该程序的实际指令为何?


  
**注:最后一列用[]括起来的进程是内核态进程,无[]的是用户态进程**


ps -l  仅观察和登录者相关的程序



[root@localhost ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 2730 2727 0 80 0 - 28846 wait pts/1 00:00:00 bash
0 R 0 2798 2730 0 80 0 - 37233 - pts/1 00:00:00 ps

F :代表这个程序旗标 ( process flags ),说明这个程序的总结权限,常见号码:
若为 4 表示此程序的权限为 root ;若为 1 则表示此子程序仅进行复制( fork )而没有实际执行(exec )。

S :代表这个程序的状态 ( STAT )
UID/PID/PPID:代表 此程序被该 UID 所拥有 / 程序的 PID 号码 / 此程序的父程序 PID 号码

C:代表CPU 使用率,单位为百分比;
PRI/NI:Priority/Nice 的缩写,代表此程序被 CPU 所执行的优先顺序,数值越小代表该程序越
快被 CPU 执行。

ADDR/SZ/WCHAN :都与内存有关, ADDR 是 kernel function ,指出该程序在内存的哪个部分,
如果是个 running 的程序,一般就会显示 “ - ” / SZ 代表此程序用掉多少内存 / WCHAN
表示目前程序是否运行中,同样的, 若为 - 表示正在运行中。

TTY:登陆者的终端机位置,若为远端登陆则使用动态终端接口(pts/n )

TIME:使用掉的 CPU 时间,注意,是此程序实际花费 CPU 运行的时间,而不是系统时间;

CMD:就是 command 的缩写,造成此程序的触发程序之指令为何。



> 
> pstree  -p   显示进程树形结构  
>  pgrep  -l  -u lisi   通过条件查找进程(查lisi所有进程)
> 
> 
> 


**4. 进程动态查看工具 top**  
         可以持续的监测整个系统的程序工作状态。每次更新程序资源的时间为5秒,可以使用 -d 来进行修改。


**top -d 2   每隔2秒刷新一次**



top - 12:32:48 up 8:25, 2 users, load average: 0.03, 0.03, 0.05
Tasks: 91 total, 1 running, 90 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 999936 total, 548228 free, 86208 used, 365500 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 743120 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 125124 3628 2424 S 0.0 0.4 0:00.87 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.37 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:00.41 rcu_sched

选项:

M 按内存排比
P   按cpu排比
T   按时间排比

us — 用户空间占用CPU的百分比。
sy — 内核空间占用CPU的百分比。
ni — 改变过优先级的进程占用CPU的百分比
id — 空闲CPU百分比
wa — IO等待占用CPU的百分比
hi — 硬中断(Hardware IRQ)占用CPU的百分比
si — 软中断(Software Interrupts)占用CPU的百分比
st —虚拟cpu等待实际cpu的时间百分比



> 
>         top 默认使用 CPU 使用率( %CPU ) 作为排序的重点,如果你想要使用内存使用率排序,则可以按 “M”, 若要恢复则按 “P” 即可。如果想要离开top 则按 “ q ” 。
> 
> 
> 
>         若将 top 的信息进行2次,然后输出到/top/top.txt  
>          top -b -n 2 > /tmp/top.txt
> 
> 
> 


**5. 进程的前后台调动**



> 
> **前台:**你可以控制与下达指令的这个环境称为前景的工作 (foreground )  
> **后台:**可以自行运行的工作,无法使用 ctrl+c 终止他,可使用 bg/fg 调用该工作
> 
> 
> ctrl + z   把前台进程调到后台停止执行
> 
> 
> &     把前台进程调到后台继续执行  
>  例: cp /dev/cdrom  /root/centos7.iso &
> 
> 
> 


**jobs     查看后台工作状态**



[root@localhost ~]# jobs

选项:
-l:显示进程号;
  -p:仅任务对应的显示进程号;
  -n:显示任务状态的变化;
  -r:仅输出运行状态(running)的任务;
  -s:仅输出停止状态(stoped)的任务。



> 
> fg   将后台任务拿到前台处理  
>  bg   将后台暂停任务继续执行
> 
> 
> 



kill    进程号  仅杀死某个进程号的进程
killall  进程名  杀死进程名开启的所有进程和子进程
pkill -u lisi  杀死满足条件的进程

选项:
  -9  强制
  -15  正常结束,默认

-l  列出所有信号
   0 status  状态
   1 SIGHUP 重载
   2   SIGINT 终止,Ctrl+c
   3 SIGQUIT 退出
   9 SIGKILL 强制终止
   15  SIGTERM 正常结束,默认
   18  SIGCONT 继续
   19  SIGSTOP 停止
   20  SIGTSTP 暂停,ctrl+z


**6. 改变进程优先级**


        PRI :进程优先权,代表这个进程可被执行的优先级,其值越小,优先级就越高,越早被执行  
         NI :进程Nice值,代表这个进程的优先值,-20到19,PRI(new)=PRI(old)+nice  
         %nice :改变过优先级的进程的占用CPU的百分比



> 
> **命令:**  
>  nice -n -5 vim & 指定执行命令的nice值  
>  renice -5 进程号 修改已运行进程的nice值
> 
> 
> 


**7. screen 虚拟窗口管理器,建立稳定的远程管理会话**  
         远程执行长时间操作,比如:数据库的备份,数据量较大,ssh远程连接中断,备份也会中止


安装screen工具:



yum -y install screen


**(1)要进行某项操作时,先使用命令创建一个Screen:**



![](https://img-blog.csdnimg.cn/img_convert/9a8cb5f8c0ec69e6499adead0da6e95b.png)

最全的Linux教程,Linux从入门到精通

======================

1.  **linux从入门到精通(第2版)**

2.  **Linux系统移植**

3.  **Linux驱动开发入门与实战**

4.  **LINUX 系统移植 第2版**

5.  **Linux开源网络全栈详解 从DPDK到OpenFlow**



![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/59742364bb1338737fe2d315a9e2ec54.png)



第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。


![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/9d4aefb6a92edea27b825e59aa1f2c54.png)


**本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。**

> 需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论


详情docs.qq.com/doc/DSmdCdUNwcEJDTXFK
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值