进程介绍

'进程'
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源

ps命令基本使用

ps命令用来查看在计算机系统中那些程序正在执行,以及执行的情况。可以用它来找出所有的process id和名称。
ps命令也可以用来列出所有程序占用内存的情况
'ps -(选项)'
'a' 显示一个终端的所有进程,除了会话引线
'u' 显示进程的归属用户以及内存的使用情况
'x' 显示没有控制终端的进程
'-l' 长格式显示,显示更加详细的信息
'-e' 显示所有进程和'-A'作用一致
实例:
'ps aux'
查看系统中所有进程

[root@ssgao1987 ssgao]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  19364  1604 ?        Ss   Jul08   0:00 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Jul08   0:00 [kthreadd]

'USER'该进程由哪个用户产生的
'PID' 进程的ID号
'%CPU' 该进程占用CPU资源的百分比,占用越高,进程越耗费资源
'%MEM'该进程占用物理内存的百分比,占用越高,进程越耗费资源
'VSZ' 该进程占用虚拟机内存的大小,单位KB
'RSS' 该进程占用实际物理内存的大小,单位KB
'TTY' 该进程是哪个终端运行的,tty1-tty7表示代表本地控制台终端,tty1-tty6是本地字符界面终端
tty7是图形终端,pts/0-255代表虚拟终端
'STAT' 进程状态,常见的状态R:运行,S:睡眠,T:停止状态,s:包含子进程,+:位于后台
'START' 进程的启动时间
'TIME' 该进程占用CPU的运算时间,注意不是系统时间
'COMMAND' 产生此进程的命令名

PSTREE基本使用

>>>pstree [选项]
-p: 显示进程的PID
-u:显示进程的所属用户

[root@ssgao1987 ssgao]# pstree -pu
init(1)─┬─auditd(1135)───{auditd}(1136)
       ├─console-kit-dae(1387)─┬─{console-kit-da}(1388)
       │                       ├─{console-kit-da}(1389)
       │                       ├─{console-kit-da}(1390)
       │                       ├─{console-kit-da}(1391)
.......

top命令基本使用

top命令可以查看目前程序的执行情景和内存使用。和ps类似,不过它会几秒钟更新一次系统状态方便追踪。
离开按Ctrl+C/或q键
'top [选项]'
'-d' 秒数:指定top命令每隔几秒更新,默认是3秒
'-b' 使用批处理模式输出。一般和-n选项合用
'-n'次数:指定top命令执行的次数
'P'以cpu使用率排序
'M'以内存的使用率排序
'N'以PID排序
'q' 退出top
top -b -n 1 >top.log
将所有进程刷新一次的信息全部写入到top.log文件
[root@ssgao1987 ssgao]# top

top - 10:23:12 up 17:16,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  82 total,   1 running,  81 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
Mem:   1020052k total,   382400k used,   637652k free,    62460k buffers (加速写入)
Swap:  1048572k total,        0k used,  1048572k free,   204940k cached(加速读取)
------------------
第一行:
top - 10:23:12 up 17:16,  1 user,  load average: 0.00, 0.00, 0.00
1) 系统当前时间
2) 系统的运行时间
3) 当前登录的用户数
4) 系统在1分钟,5分钟,15分钟的平均负载,一般认为小于1时,负载较小,如果大于1,系统已经超出负荷
------------------
第二行:
Tasks:  82 total,   1 running,  81 sleeping,   0 stopped,   0 zombie
1) 系统总进程数
2)正在运行的进程数
3) 睡眠的进程
4) 正在停止的进程
5) 僵尸进程,如果不是0,需要手工检查僵尸进程
------------------
第三行:
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
1) 用户模式占用的CPU百分比
2)系统模式占用的CPU百分比
3)改变过优先级的用户进程占用的CPU百分比
4)等待输入/输出的进程占用CPU百分比
5)硬中断请求服务占用的CPU百分比
6)软中断请求服务暂用的CPU百分比
st虚拟时间百分比,就是当虚拟机时,虚拟CPU等待实际CPU的时间百分比
------------------
第四行
Mem:   1020052k total,   382400k used,   637652k free,    62460k buffers (加速写入)
1)物理内存总量
2)已经使用的物理内存数量
3)空闲物理内存数量
4)作为缓冲区的内存数量
------------------
第五行:
Swap:  1048572k total,        0k used,  1048572k free,   204940k cached(加速读取)
1)交换分区
2)已经使用的交互分区的大小
3)空闲交换分区大小
4)作为缓存的交互分区的大小

kill命令

kill 命令用来终止一个正在执行的进程,如一个执行过程失败了,可以把这个程序终止,避免留在内存中占用系统资源。
不过,它的实际意义是送一个信号给这个正在执行的程序,叫它自杀。可以发送很多信号给这写程序,也可以让他们受到信好后做很多事情。
命令格式 kill -(选项) pid
在执行kill命令前。可以先用ps查一下某宕掉程序的pid,然后使用kill除去某个程序。例如终止pid为90的程序:kill 90
-l 列出所有可用的信号名称
-p 印出pid并不发送信号
-signal 其中可用的讯号有HUP(1) ,KILL(9),TERM(15),分别代表着重跑,砍掉,结束
将pid为323的进程砍掉
kill -9 323
将pid为456的进程重跑(restart)
kill -HDP 456
kill -1 2235
重启进程
kill -9 2236
强制杀死进程
kill 2236
不强制杀死,待执行结束后终止进程

java的进程查看

jps命令
查看java进程
列出所有的jvm实例
是jdk1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合linux平台简单查看java进程的一些简单情况
'jps -q'
只显示pid,不显示class名称,jar文件名和传递给main方法的参数
'jps -m'
输出传递给main方法的参数,在嵌入式jvm上可能是null
jps [ options ] [ hostid ]
选项
-q 仅输出VM标识符,不包括class name,jar name,arguments in main method
-m 输出main method的参数
-l 输出完全的包名,应用主类名,jar的完全路径名
-v 输出jvm参数
-V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
-Joption 传递参数到vm,例如:-J-Xms48m

linux系统管理 系统进程的更多相关文章

  1. Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载五)Linux系统的对话方式

    本篇是Linux小白最佳实践第5篇,目的就是让白菜们了解Linux进程之间是如何对话的.之前连载的几篇,在微信上引起了很多的反响,有人也反映图多文字少,感觉没有干货.本篇选了大部分是实战讲解的&quo ...

  2. Linux系统管理和维护常用命令

    Linux系统管理和维护常用命令 ls 命令 功能说明 ls 命令显示指定工作目录下的内容,列出工作目录所包含的文件及子目录. 语法结构: ls [选项] [路径或文件] ls 选项及说明 -a 显示 ...

  3. Linux系统管理常用命令

    Linux系统管理常用命令 分类: Linux2011-01-10 18:26 1538人阅读 评论(0) 收藏 举报 linuxcommandservicenginxuserunix 目录(?)[+ ...

  4. 【Linux】linux系统管理---好用的一些开源工具

    目录 linux系统管理---好用的一些开源工具 htop dstat Glances iftop nethogs iotop linux系统管理---好用的一些开源工具 htop htop是一款运行 ...

  5. Linux系统管理远程登录工具PUTTY

    PuTTY 简介        PuTTY是一个Telnet.SSH.rlogin.纯TCP以及串行接口连线软件.较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植 ...

  6. 【转载】茶叶蛋干货!《超容易的Linux系统管理入门书》(连载十)进行动态主机配置DHCP

    使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)则可以避免网络参数变化后一些繁琐的配置,客户端可以从DHCP服务端检索相关信息并完成相关网络配置, ...

  7. 【转载】绝对干货!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载九)如何通过源代码安装软件

    除了使用Linux的包管理机制进行软件的安装.更新和卸载,从源代码进行软件的安装也是非常常见的,开源软件提供了源代码包,开发者可以方便的通过源代码进行安装.从源码安装软件一般经过软件配置.编译软件.执 ...

  8. 【转载】干货再次来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载八)用命令实现批量添加用户

    Windows添加用户需要至少5个界面,而Linux一条命令就搞定了,这是不是高效人士办公第一法则呢.本文不给你一堆参数和选项,不让你见识教条主义,只给你最实用的代码. 想每天能听到小妞的语音播报,想 ...

  9. 【转载】干货来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载七)LAMP集成安装

    学Linux做程序开发也好,做系统管理也好,做网络管理员也好,做系统运维也好,不会LAMP和LNMP,那就等于连皮毛都不会!本篇是文字版的LAMP集成安装,下次连载我们要介绍LNMP的文字版安装.有喜 ...

随机推荐

  1. Qt532.线程(_beginthread)

    1.(20180928)环境:Win7x64.Qt5.3.2 MSVC2010 OpenGL.ms2010 2.测试代码: ZC:我记得 之前在 VC6.vs08 上,还要选择 使用的是哪种 运行时线 ...

  2. [osg]osg背景图设置

    转自:https://blog.csdn.net/qq_30754211/article/details/61190698 #include <osg/Geometry> #include ...

  3. 力扣(LeetCode)728. 自除数

    自除数 是指可以被它包含的每一位数除尽的数. 例如,128 是一个自除数,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0. 还有,自除数不允许包含 0 . 给定上边 ...

  4. 力扣(LeetCode) 849. 到最近的人的最大距离

    在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的. 至少有一个空座位,且至少有一人坐在座位上. 亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座位上. 返回 ...

  5. Object_C与JavaScript交互使用总结

    iOS开发中oc与js交互的方式有很多,我们可以使用流行的第三方库如:WebviewJavaScriptBridge和OVGap,这两个库都是让webview与JS建立起一条桥梁,我们也可以使用iOS ...

  6. java与js交互,相互调用传参

    随着前端技术的发展与H5的广泛使用,移动端采用native+h5的方式越来越多了,对于Android来说就涉及到java与js的交互,相互调用传参等.下面就来看一下java与js交互的简单demo. ...

  7. Lua和C++交互 学习记录之五:全局数组交互

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

  8. 第 8 章 容器网络 - 060 - 在 Docker 中使用 flannel

    在 Docker 中使用 flannel 编辑 host1 的 Docker 配置文件 /etc/systemd/system/docker.service.d/10-machine.conf 设置 ...

  9. (转+整理)C#中使用GUID

    GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成GUID的API.生成算法很有意思,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可 ...

  10. 通过cookies跳过验证码登陆页面,直接访问网站的其它URL

    我每次手动访问去NN网的一家酒店,就不需要登陆,一旦我用脚本打开就会让我登陆,而登陆页面又有验证码,不想识别验证码,所以就想:“通过cookies跳过验证码登陆页面,直接访问网站的其它URL”   转 ...