linux 进程的处理相关

16人阅读 评论(2) 收藏 举报
分类:

linux的进程定义

  1. 进程是一个独立的可调度的活动;
  2. 进程是一个抽象实体,当它执行某个任务时,要分配和释放各种资源;
  3. 进程是可以并行执行的计算单位;
  4. 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动;

以上定义中我们可以抽取出几个关键词:独立、调度、资源、活动、数据、并行、任务。一个进程就是一次活动,活动具有独立特性,它有自己独有的资源和数据,它的任务是根据拥有资源对数据进行处理。往上层来想,当多个活动出现的时候,需要进行活动的调度,当然这些活动可以一起进行,也可以按顺序进行。

关于进程的具体理论知识内容请参看https://blog.csdn.net/rl529014/article/details/51280018

进程很重要,那么我们怎么查进程,管理进程呢?

linux进程查询的方式

就本文在开发中经常使用的是两种方式,ps -aux|grep java 和 top,我们依次分析下这两个东西。

ps进程查询方式

ps a 显示现行终端机下的所有程序,包括其他用户的程序。
ps -A 显示所有程序。
ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps -e 此参数的效果和指定”A”参数相同。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
ps -H 显示树状结构,表示程序间的相互关系。
ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s 采用程序信号的格式显示程序状况。
ps S 列出程序时,包括已中断的子程序资料。
ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
ps u 以用户为主的格式来显示程序状况。
ps x 显示所有程序,不以终端机来区分。

这个内容还是蛮多的,个人觉得只需要会使用aux就好了。

top进程查询方式

我在本机上执行了top命令,具体内容如下
这里写图片描述

1.第一行

03:48:45 — 当前系统时间
3 users — 当前有3个用户登录系统
load average: 0.15, 0.16, 0.14 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

2.第二行

Tasks — 任务(进程),系统现在共有232个进程,其中处于运行中的有1个,231个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

3.第三行

1.0% us — 用户空间占用CPU的百分比。
0.3% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
98.7% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比

4.第四行

3565176 total — 物理内存总量(8GB)
2405824 used — 使用中的内存总量(7.7GB)
166168 free — 空闲内存总量(530M)
993184 buffers — 缓存的内存量 (79M)

5.第五行

3801084 total — 交换区总量
5032 used — 使用的交换区总量
3796052 free — 空闲交换区总量
596868 cached — 可用的内存量

6.第六行

7.第七行

PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

这样基本就可以了解到top的基本用法了,至于更深层次的用法请参看https://linux.cn/article-2352-1.html

关闭进程的命令

kill!!! 用的最多的一个关闭命令了

现在有另外一个需求,就是查找某个进程并关闭。比如我们使用python开了很多进程,想关闭所有python进程,已经确定都没用了。怎样最快最好的关闭。

ps -ef | grep python | grep -v grep | awk '{print $2}' | xargs kill -9 

grep用法参看:http://man.linuxde.net/grep
awk用法参看:https://www.cnblogs.com/ginvip/p/6352157.html
xargs用法参考:http://man.linuxde.net/xargs

其它内容

进程的后台运行

nohup command & //command是命令的名称
查看评论

linux 进程管理相关命令汇总

## processes 进程管理 ##ps查看当前系统执行的线程列表,进行瞬间状态,不是连续状态,连续状态需要使用top名称查看 更多常用参数请使用 man ps查看 ps ##显示所有...
  • zhongweijian
  • zhongweijian
  • 2015-06-12 10:32:34
  • 2468

Linux根据进程名字关闭Java进程

jps | grep RunJar  :是获取进程名字为RunJar的java进程,输出信息为: [daxin@node ~]$  9564 RunJar jps | grep R...
  • Dax1n
  • Dax1n
  • 2017-03-27 11:25:34
  • 1900

LINUX进程相关的几个函数

LINUX进程相关的几个函数 1.pid_t fork( void) :返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;否则,出错返回-1 2.exit(0): 就是退出...
  • u011266694
  • u011266694
  • 2016-11-14 20:31:29
  • 221

linux的进程相关函数简单总结

获取进程ID [cpp] view plain copy  print? #include    #include       pid_t getpid(void)   //获取...
  • u014563989
  • u014563989
  • 2016-12-11 17:22:50
  • 601

Linux系统中 任务、进程和线程总结

任务、进程和线程基本概念 多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务。Linux 就是一个支持多任务的操作系统(Windows也是多任务操作系统),比起...
  • zolalad
  • zolalad
  • 2014-05-09 16:03:52
  • 1823

Linux学习记录--进程控制相关系统调用

系统调用:进程控制 fork系统调用 函数作用:创建一个子进程 形式:pid_tfork(void); pid_t vfork(void); 说明:使用vfork创子进程时,不会进程父进程的上下文 ...
  • tiankefeng19850520
  • tiankefeng19850520
  • 2014-04-17 10:04:08
  • 1535

Linux学习笔记之后台进程(cron和crontab)

Linux学习笔记之后台进程(cron和crontab). 设置crontab文件,并用它来提交作业. 使用at命令来提交作业. 在后台提交作业. 使用nohup命令提交作业cron 系统调度进程,使...
  • faintbear
  • faintbear
  • 2005-01-20 11:18:00
  • 2087

linux下关于进程、线程及信号编程的所有头文件说简要明

#include               //标准输入输出 #include              //标准库函数 #include                 //文件系统用函数op...
  • eric41050808
  • eric41050808
  • 2013-06-03 17:27:34
  • 908

linux下查看PHP进程工作内容

1.用top找出CPU占用率高的PHP进程 2.用 strace -p 可以查看进程的具体工作内容
  • bluehire
  • bluehire
  • 2013-12-25 16:40:09
  • 1190

linux查看进程实例详解

说明:本文所有案例均在linux 2.6.32-642.el6.x86_64验证成功 查看进程 ps (重要) Process State 是非常强大的进程查看命令,用于报告当前系统的进...
  • wsxxdwwzjdy
  • wsxxdwwzjdy
  • 2017-11-11 17:44:11
  • 213
    个人资料
    持之以恒
    等级:
    访问量: 2万+
    积分: 954
    排名: 5万+
    最新评论