1、程序和进程的关系
(1)程序

  • 保存在硬盘、光盘等介质中的可执行代码和数据
  • 静态保存的代码

(2)进程

  • 在 CPU 及内存中运行的程序代码
  • 动态执行的代码
  • 父、子进程:每一个进程可以创建一个或多个进程

 2、静态查看进程信息

[root@localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.3 56640 6672 ? Ss 00:22 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 24
root 2 0.0 0.0 0 0 ? S 00:22 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 00:22 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 00:22 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S 00:22 0:00 [migration/0].

(1)

  • USER:启动该进程的用户账号的名称。
  • PID:该进程在系统中的PID号,在当前系统中是唯一的。
  • %CPU: CPU占用的百分比。
  • %MEM:内存占用的百分比。
  • VSZ:占用虚拟内存swap空间的大小。
  • RSS:占用常驻内存物理内存的大小。
  • TTY:表明该进程在哪个终端上运行。“?”表示未知或不需要终端。
  • STAT:显示了进程当前的状态:D:不可中断睡眠、S:可中断的睡眠、R:就绪或运行状态、T:中止状态、Z: 僵死状态、<:高优先级进程、N:低优先级进程、+:前台进程组中的进程、|:多线程的进程、s:会话进程的首进程
  • START:启动该进程的时间。
  • TIME:该进程占用的CPU时间。
  • COMMAND:启动该进程的命令的名称。

(2)stat状态

  • S:不可中断睡眠
  • R:可中断睡眠
  • Z:就绪或运行状态
  • <:高级有限进程
  • N:低级优先进程
  • +:前台进程组中的进程
  • T:中止状态
  • Z:僵死状态

3、动态查看进程

top - 00:51:38 up 28 min, 1 user, load average: 0.00, 0.01, 0.03
Tasks: 399 total, 2 running, 397 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2035356 total, 1760020 free, 134140 used, 141196 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1751724 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
722 root 20 0 0 0 0 S 0.3 0.0 0:00.10 xfsaild/dm-0 
1 root 20 0 56640 6672 3888 S 0.0 0.3 0:01.31 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.01 ksoftirqd/0

top - :: 【当前系统时间】
: 【系统已经运行 小时 分钟】
users 【当前登录 个用户】
load average:0.00,0.00,0.00 【系统平均负载: 分钟的, 分钟的, 分钟的】
Tasks: total 【任务: 个总进程】
running 【 个进程正在运行】
sleeping 【 个进程睡眠】
stoppd 【 个进程停止】
zombie 【 个僵尸进程(冻结进程)】
Cpu(s): 0.0%us 【用户控件占用 CPU 百分比】
0.0%sy 【内核空间占用 CPU 百分比】
0.0%ni 【用户进程控件内改变过优先级的进程占用 CPU 百分比】
100.0% 【空闲 CPU 百分比】
0.0%wa 【等待输入输出的 CPU 时间百分比】
0.0% hi 【】
0.0%si 【】
Men: 1012352k total 【物理内存总量 1012352k】
465816k used 【使用了 465816k 的物理内存】
546536k free 【空闲 546536k 的物理内存】
61064k buffe 【61064k 用作内核缓存】
Swap: 2031608k total 【交换分区总量 2031608k】
0k used 【没有使用交换分区】
2031608k free 【空闲的交换分区总量 2031608k】
267580k cache 【缓冲的交换分区总量 267580k】
PID:进程号
USER:进程所有者的用户名
PR:优先级
NI:nice 值。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位 kb
RES:进程使用的、未被换出的物理内存大小,单位 kb
SHR:共享内存大小,单位 kb
S:进程状态
%CPU:上次更新到现在的 CPU 时间占用百分比
%MEM:进程使用的物理内存百分比
TIME+:进程使用的 CPU 时间总计,单位 / 秒
COMMAND:命令

进程的启动方式专区:(前台运行,后台运行,杀死进程)

(2)后台启动:在命令行尾加入“&”符号

(3)进程的前后台调度
      Ctrl+Z 将当前进程挂起,即调入后台并停止执行
      jobs 命令 查看处于后台的任务列表,加-l 同时显示 PID 号
      fg 命令 将后台进程恢复到前台运行,可指定任务程序号
      bg 命令 将后台暂停的进程调至后台运行

示例:

[root@localhost ~]# cp /dev/cdrom mycd.iso &
[1] 12764
[root@localhost ~]# jobs -l
[1]+ 12764 运行中 cp -i /dev/cdrom mycd.iso &
[root@localhost ~]#

(4)终止进程的运行
     。Ctrl+C 中断正在执行的命令
     。kill、killall 命令
    kill 用于终止指定 PID 号的进程
    killall 用于终止指定名称的所有进程
    -9 选项用于强制终止

示例:

[root@localhost ~]# pgrep -l cp
12764 cp
[root@localhost ~]# kill -9 12764

[root@localhost ~]# pstree -aup

├─vmtoolsd,6544
│ └─{vmtoolsd},6668
├─vmtoolsd,8497 -n vmusr
│ ├─{vmtoolsd},8558
│ └─{vmtoolsd},8584
├─wpa_supplicant,7777 -u -f /var/log/wpa_supplicant.log -c /etc/wpa_supplicant/wpa_supplicant.conf -P/var/run/wpa_sup
└─xdg-permission-,8260
├─{xdg-permission-},8262
└─{xdg-permission-},8265
[1]+ 已杀死 cp -i /dev/cdrom mycd.iso

PS进程及杀掉进程!的更多相关文章

  1. cmd命令之查看进程到杀掉进程

    1. cmd命令查看当前进程 netstat -ano | findstr “port”

  2. Linux中查看进程和杀掉进程

    ps -A查看正在运行的所有进程 kill -9 xxx杀掉某个进程,xxx为进程ID.

  3. oracle查看被锁的表和被锁的进程,杀掉进程

    -- 1. 查看被锁的表 SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,b.os_user_name ...

  4. kill session真的能杀掉进程吗

    session1 确认sidSYS @ prod > select userenv('sid') from dual; USERENV('SID')-------------- 144 sess ...

  5. centos7 nginx安装/启动/进程状态/杀掉进程

    1.安装     下载RPM:wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.10.0-1.el7.ngx.x86_64.rpm ...

  6. linux ps查进程 kill关闭进程

    原文链接:http://blog.sina.com.cn/s/blog_53855ace0100ded4.html 首先,我们需要使用linux下另外一个ps命令查找与进程相关的PID号:ps aux ...

  7. linux按照进程名杀掉进程

    1.按照进程名杀掉进程 ps  -ef  | grep   sftp   | grep mysql  |grep -v grep | awk '{print("kill -9 ", ...

  8. Oracle彻底杀掉进程

    kill session 是DBA经常碰到的事情之一.如果kill 掉了不该kill 的session,则具有破坏性,因此尽可能的避免这样的错误发生.同时也应当注意,如果kill 的session属于 ...

  9. linux 查看某进程 并杀死进程 ps grep kill

    Linux 中使用top 或 ps 查看进程使用kill杀死进程 1.使用top查看进程: $top 进行执行如上命令即可查看top!但是难点在如何以进程的cpu占用量进行排序呢? cpu占用量排序执 ...

随机推荐

  1. springmvc、 springboot 项目全局异常处理

    异常在项目中那是不可避免的,通常情况下,我们需要对全局异常进行处理,下面介绍两种比较常用的情况. 准备工作: 在捕获到异常的时候,我们通常需要返回给前端错误码,错误信息等,所以我们需要手动封装一个js ...

  2. 378. 有序矩阵中第K小的元素

    Q: A: //O(NK) class Solution { public: int kthSmallest(vector<vector<int>>& matrix, ...

  3. CodeForces Gym 100213F Counterfeit Money

    CodeForces Gym题目页面传送门 有\(1\)个\(n1\times m1\)的字符矩阵\(a\)和\(1\)个\(n2\times m2\)的字符矩阵\(b\),求\(a,b\)的最大公共 ...

  4. 1.4 Eclipse 自动补全功能

    1.访问Content Assit 菜单项  window--preferences --Java---Editor--Content Assit 2. auto activation delay : ...

  5. SpringMVC--使用hibernate validator数据校验

    JSR 303 Spring3开始支持JSR 303 验证框架,JSR303是Java为Bean数据合法性校验所提供的标准框架.JSR 303 支持XML和注解风格的验证,通过在Bean属性上标注类似 ...

  6. [单片机] ESP8266 开机自动透传

    AT+CWMODE=1//设置WiFi工作在透传模式 AT+CWJAP_DEF="XX","YYY"//设置要链接的wifi名称.密码,并进行连接 //设置TC ...

  7. 如何在项目中新建.gitignore文件

    1. 在需要创建 .gitignore 文件的文件夹, 右键选择 Git Bash 进入命令行,进入项目所在目录. 2. 输入 touch .gitignore 在文件夹就生成了一个“.gitigno ...

  8. Crawlab-分布式爬虫管理系统

    一.简介 Crawlab 基于Celery的爬虫分布式爬虫管理平台,支持多种编程语言以及多种爬虫框架. Github: https://github.com/tikazyq/crawlab 参考资料 ...

  9. [转] C++ CImage实现的全屏PNG截图

    #include <atlimage.h> #include <atltime.h> #include <conio.h> //截取全屏保存为png CString ...

  10. java 面试题 mybatis 篇

    1. 一级缓存和二级缓存? 一级缓存策略: 二级缓存策略: 2. 缓存回收策略 LRU –  最近最少使用的:移除最长时间不被使用的对象. FIFO –  先进先出:按对象进入缓存的顺序来移除它们. ...