`
marc0658
  • 浏览: 80351 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

linux查看进程

阅读更多
1. 在LINUX命令平台输入1-2个字符后按Tab键会自动补全后面的部分(前提是要有这个东西,例如在装了tomcat的前提下,输入tomcat的to按tab)。
  2. ps 命令用于查看当前正在运行的进程。
  grep 是搜索
  例如: ps -ef | grep java
  表示查看所有进程里CMD是java的进程信息
  ps -aux | grep java
  -aux 显示所有状态
  ps
  3. kill 命令用于终止进程
  例如: kill -9 [PID]
  -9表示强迫进程立即停止
  通常用ps 查看进程PID ,用kill命令终止进程
  网上关于这两块的内容
  -----------------------------------------------------------------------------------
  PS
  -----------------------------------------------------------------------------------
  1. ps简介
  ps命令就是最根本相应情况下也是相当强大地进程查看命令.运用该命令可以确定有哪些进程正在运行和运行地状态、进程是否结束、进程有没有僵死、哪些进程占用了过多地资源等等.总之大部分信息均为可以通过执行该命令得到地.
  2. ps命令及其参数
  ps命令最经常使用地还是用于监控后台进程地工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设
  备进行通信地,所以如果需要检测其情况,便可以运用ps命令了.
  该命令语法格式如下:
  ps [选项]
  -e 显示所有进程,环境变量
  -f 全格式
  -h 不显示标题
  -l 长格式
  -w 宽输出
  a   显示终端上地所有进程,包括其他用户地进程
  r   只显示正在运行地进程
  x   显示没有控制终端地进程
  O[+|-] k1 [,[+|-] k2 [,…]] 根据SHORT KEYS、k1、k2中快捷键指定地多级排序顺序显示进程列表.
  对于ps地不同格式都存在着默认地顺序指定.这些默认顺序可以被用户地指定所覆盖.在这里面“+”字符是可选地,“-”字符是倒转指定键地方向.
  pids只列出进程标识符,之间运用逗号分隔.该进程列表必须在命令行参数地最后一个选项后面紧接着给出,中间不能插入空格.比如:ps -f1,4,5.
  以下介绍长命令行选项,这些选项都运用“--”开头:
  --sort X[+|-] key [,[+|-] key [,…]] 从SORT KEYS段中选一个多字母键.“+”字符是可选地,因为默认地方向就是按数字升序或者词典顺序.比如: ps -jax -sort=uid,-ppid,+pid.
  --help 显示帮助信息.
  --version 显示该命令地版本信息.
  在前面地选项说明中提到了排序键,接下来对排序键作进一步说明.需要注意地是排序中运用地值是ps运用地内部值,并非仅用于某些输出格式地伪值.排序键列表见表4-3.
  表4-3 排序键列表
  c
  cmd
  可执行地简单名称
  C
  cmdline
  完整命令行
  f
  flags
  长模式标志
  g
  pgrp
  进程地组ID
  G
  tpgid
  控制tty进程组ID
  j
  cutime
  累计用户时间
  J
  cstime
  累计系统时间
  k
  utime
  用户时间
  K
  stime
  系统时间
  m
  min_flt
  次要页错误地数量
  M
  maj_flt
  重点页错误地数量
  n
  cmin_flt
  累计次要页错误
  N
  cmaj_flt
  累计重点页错误
  o
  session
  对话ID
  p
  pid
  进程ID
  P
  ppid
  父进程ID
  r
  rss
  驻留大小
  R
  resident
  驻留页
  s
  size
  内存大小(千字节)
  S
  share
  共享页地数量
  t
  tty
  tty次要设备号
  T
  start_time
  进程启动地时间
  U
  uid
  UID
  u
  user
  用户名
  v
  vsize
  总地虚拟内存数量(字节)
  y
  priority
  内核调度优先级

3. 经常使用ps命令参数
  最经常使用地三个参数是u、a、x,下面将通过例子来说明其具体用法.
  [例20] 以root身份登录系统,查看当前进程状况
  $ ps
  PID TTY TIME COMMAND
  5800 ttyp0 00:00:00 bash
  5835 ttyp0 00:00:00 ps
  可以看到,显示地项目共分为四项,依次为PID(进程ID)、TTY(终端名称)、TIME(进程执行时间)
  、COMMAND(该进程地命令行输入).
  可以运用u选项来查看进程所有者及其他少许详细信息,如下所示:
  $ ps u
  USER PID %CPU %MEM USZ RSS TTY STAT START TIME COMMAND
  test 5800 0.0 0.4 1892 1040 ttyp0 S Nov27 0:00 -bash
  test 5836 0.0 0.3 2528 856 ttyp0 R Nov27 0:00 ps u
  在bash进程前面有条横线,意味着该进程便是用户地登录shell,所以对于一个登录用户来说带短横线地进程只有一个.还可以看到%CPU、%MEM两个选项,前者指该进程占用地CPU时间和总时间地百分比;后者指该进程占用地内存和总内存地百分比.
  在这种情况下看到了所有控制终端地进程;当然对于其他那些没有控制终端地进程还是没有观察到,所以这时就需要运用x选项.运用x选项可以观察到所有地进程情况.
  -----------------------------------------------------------------------------------
  KILL
  -----------------------------------------------------------------------------------
  由于职责的要求,你不得不费力地阅读那些令你感到费解的晦涩的Linux应用程序的说明文件。然后,你将运行指令和编辑设置文件。一切都在正常运行,生活真美好。但是,你知道,好时光不会永远持续下去。当你遇到令人恐惧的“send the process a SIGHUP”提示时,好时光结束了。
  什么是“SIGHUP(启动信号)”,你如何发送它?它像是你送给你的恋人的一束花吗?虽然你可以肯定这不是一个命令行指令,不过,你还是试着键入它。当然,这没有结果。然后,你检查一下键盘。哦,没有SIGHUP键。于是你又重新阅读这个应用程序的参考指南,看到下面这段文字:
  当收到一个hangup(进程结束)信号时,sshd程序会重新阅读配置文件。通过执行启动程序时的命令及选项来发送SIGHUP信号,如:/usr/sbin/sshd。
  哦,原来是这样。
  程序员 VS 使用者
  LINUX程序的在线参考指南作者一般都要既照顾到最终用户的需求也要照顾到高级程序员的需求。因此,有些说明比较难懂。不过,不要担心。现在我们就要揭开覆盖在这些让人迷惑的内容上面那神秘的面纱。
  信号与进程控制
  这个问题主要属于信号和进程控制的范畴。对于我们系统管理员和普通用户来说,我们主要关心的是启动、停止和重新启动服务、停止失控的进程和被挂起的进程,并且尽可能不中断系统运行。因为不同的
  操作系统和不同的命令外壳处理信号的方式都不相同,我们这里只介绍Linux操作系统和bash外壳。
  信号是用来与守护程序和进程通信的。任何活动任务都是一个进程,而守护程序是等待对某些事件做出反应或者按照日程安排执行任务的后台服务。一个程序必须有建在其中的信号处理程序用于捕获和应答信号。在LINUX中的signal 参考指南解释了各种不同信号和这些信号的用途。信号是由“kill”命令发出的。kill -l命令可以显示一个可用信号列表及其编号。
  所有的守护程序和进程都有一个进程ID(PID),例如使用ps命名所显示的内容:
  $ ps aux
  USER PID %CPU %MEM TTY STAT COMMAND
  root 1 0.0 0.1 ? S init [2]
  105 7783 0.0 0.2 ? Ss /usr/bin/dbus-daemon --system
  hal 7796 0.0 0.7 ? Ss /usr/sbin/hald
  postfix 7957 0.0 0.2 ? S qmgr -l -t fifo -u -c
  nagios 8371 0.0 0.2 ? SNs /usr/sbin/nagios /etc/nagios/nagios.cfg
  这个输出是经过简化的。你在系统中可以看到更多的行和栏目。如果某些进程消耗了你的全部CPU或者内存,你可以在这个输出的%CPU和%MEM列中发现它们。找到失控的进程的一种更快捷的方法是使用top命令,因为按照默认的设置,使用占用CPU资源最多的进程在最上面显示。我们可以使用一条 “yes”命令来测试一下:
  $ yes carla is teh awesum
  这个命令将以很高的速度反复显示“carla is teh awesum”,直到你停止它运行。这将使你的CPU使用率达到警戒线。
  $ top
  ...
  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  12144 carla 25 0 31592 17m 13m R 93.4 3.5 0:50.26 konsole
  22236 carla 15 0 2860 468 400 S 4.3 0.1 0:00.97 yes
  分析一下这个结果,你会发现一些有趣的事,你会发现,占用CPU最多的程序是konsole虚拟终端程序,而不是“yes”命令,这是因为“yes”命令是在konsole终端程序中运行的。如果在一个“真正的”控制台(按Ctrl+alt+f2键)中运行同样的命令序列,你将看到“yes”命令被排在第一位。
  有许多停止“yes”命令运行的方式。如果你要回到运行它的shell中,按CTRL+c键就可以了。或者你可以在另一个shell中用“kill”命令停止“yes”命令的运行,Kill命令后面跟PID或者命令名称,如下如示:
  $ kill 22236
  或者
  $ killall yes
  按CTRL+c键发出一个SIGINT(信号2),这个信号是键盘要求取得控制权的中断信号。kill和killall这两个命令按照默认的设置都发出一个SIGTERM信号(编号15)。程序中可以设置对SIGTERM信号(15)是捕捉或者忽略,或者以不同的方式解释。因此,如果你的程序对于 KILL命令的反应与你预期不同,很可能是被KILL的目标程序的问题。
  终止一个父进程通常也终止了它的子进程。不过,情况并不总是如此。你知道子进程是什么吗?使用ps命令加上-f选项就可以看到,如下所示:
  $ ps axf
  22371 ? R 2:35 _ konsole [kdeinit]
  22372 pts/3 Ss 0:00 | _ /bin/bash
  24322 pts/3 S+ 0:00 | | _ yes carla is teh awesum
  22381 pts/4 Rs 0:00 | _ /bin/bash
  24323 pts/4 R+ 0:00 | | _ ps axf
  现在,回到SIGHUP的话题
  SIGHUP的发音是“sig-hup”,是signal hangup的缩写,含义是“中止信号”。你如何发送一个SIGHUP信号呢?这里有几种方式:
  # kill -HUP [pid]
  # killall -HUP [process-name]
  # kill -1 [pid]
  # killall -1 [process-name]
  因此,你可以使用PID或者名称,信号名称或者号码。那么为什么要这样做而不使用/etc/init.d/foo命令重新启动呢?使用它们自己的 init(初始化)文件来控制服务是优先选择的方式,因为这些文件通常包含健全和错误检查以及额外的功能。使用“kill”命令和信号的主要原因是尽可能明确地终止挂起和失控的进程,而不必重新启动或者登出。
  终止进程
  正如你在关于信号的man page中所看到的,有十几种控制进程的方法。下面是一些常用的方法:
  kill -STOP [pid]
  发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
  kill -CONT [pid]
  发送SIGCONT (19,18,25)重新开始一个停止的进程。
  kill -KILL [pid]
  发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
  kill -9 -1
  终止你拥有的全部进程。
  SIGKILL和SIGSTOP信号不能被捕捉、封锁或者忽略,但是,其它的信号可以。所以这是你的终极武器。
  Bash shell的Kil命令l
  Bash外壳包含一个内置的kill命令,当执行下面命令:
  $ type -all kill
  kill is a shell built-in
  kill is /bin/kill
  命令的结果表明有两个kill命令,一个是BASH的内置命令,另一个是/bin/kill可执行程序。一般来说这两个命令不太可能遇到冲突的情况,不过,如果你确实遇到了kill命令行为异常时,你可以明确的指定/bin/kill命令。
  你一定要进一步查阅下面的资源中列出的参考资源来了解Linux中kill的妙用,因为这是你进入维护Linux系统领域的门票。这些知识能够让你像做外科手术一样对系统进行维护,而不用在遇到问题时每一次都重新启动系统,就像我们知道的某些蹩脚的
  操作系统那样。
  资源
  Linux Cookbook一书的第七章“开始和终止Linux”
  bash (1) - GNU Bourne-Again Shell
  yes (1) - 在被终止前反复打印字符
  signal (7) - 可用信号列表
  ps (1) - 报告当前进程的快照
  kill (1) - 向一个进程发出信号
  killall (1) - 按名字消灭进程
  pkill (1) - 根据名字和其它属性查看或者发出进程信号
  skill (1) - 发送一个信号或者报告进程状态
  xkill (1) - 按照X资源消灭一个客户程序
分享到:
评论

相关推荐

    LINUX 查看进程占用swap

    用于查看LINUX下进程占用SWAP大小

    linux查看进程指令

    `htop`是一个功能更强大的进程查看器,它提供了更多的信息和交互性。与`top`相比,`htop`支持颜色编码,可以滚动查看所有进程,而且可以直接在界面上进行进程操作,如调整优先级或终止进程,无需记忆PID。 ### atop...

    linux查看进程指令.pdf

    1. **PID和进程查看基础** - PID是Process Identifier的缩写,指的是进程的唯一标识符。在Linux系统中,每个进程都有一个唯一的PID,可以通过PID来定位、管理和控制进程。 - 在Linux系统中查看进程信息常用的指令...

    linux查看进程和终止进程

    `ps`命令是Linux系统中最基础且功能强大的进程查看工具之一,能够提供丰富的信息,如哪些进程正在运行、进程的状态、进程是否已经结束等。 ##### 2.1 ps命令的基本用法 `ps`命令的基本格式为: ```sh ps [选项] ```...

    Linux下如何查看某一进程的CPU占用率_linux进程cpu使用率.zip

    在Linux操作系统中,掌握如何查看进程的CPU占用率是系统管理员和开发者必备的技能之一。这一过程涉及到对系统监控工具的使用,理解进程与CPU之间的交互,以及如何解析输出信息。下面将详细介绍如何在Linux环境下查看...

    linux查看进程启动时间以及累计运行时间_linux进程

    总结来说,Linux提供了多种方式来查看进程的启动时间和累计运行时间,包括`ps`、`top`、`htop`、`pgrep`和`/proc`文件系统。选择哪种方法取决于具体需求和环境,熟练掌握这些工具将使你在管理Linux系统时更加...

    查看LINUX进程内存占用情况.docx

    "查看LINUX进程内存占用情况" 在 Linux 系统中,了解进程的内存占用情况非常重要,以便于系统管理员和开发者更好地管理和优化系统性能。下面将介绍三个常用的命令来查看 Linux 进程的内存占用情况。 一、top 命令 ...

    查看Linux下所有进程的资源使用情况

    一个很好用的小工具,可以查看当前系统进程的内存CPU资源消耗情况

    Linux查看进程的内存占用情况.pdf

    本文将详细介绍如何使用几个关键工具来查看Linux进程的内存占用情况。 首先,`top`命令是Linux下最常用且直观的性能监控工具,它能够实时显示系统中每个进程的资源使用状况,包括CPU占用率、内存占用率等。在`top`...

    Linux进程调度策略分析

    ### Linux进程调度策略分析 #### 1. 前言 Linux系统因其开源特性与卓越性能,在服务器领域占据主导地位。作为多任务操作系统的核心组成部分,进程调度机制对于系统的整体性能和响应时间至关重要。本文旨在深入探讨...

    linux查看进程指令[归纳].pdf

    最后,`htop`和`atop`是两个增强版的进程查看工具。`htop`提供了一个彩色的、可滚动的界面,允许用户直观地查看和管理进程,甚至可以进行进程的杀止和优先级调整。要安装`htop`,在Debian或Ubuntu系统上输入`apt-get...

    LINUX查看进程的4种方法(小结)

    `ps` 命令是最基础的进程查看工具,通常与其他选项结合使用,例如 `aux`。`a` 表示显示所有用户在所有终端上的进程,`u` 显示以用户为主的格式,`x` 显示没有控制终端的进程。`ps aux` 结合这三种选项,可以提供...

    linux查看同名的进程数

    标题和描述提到的"linux查看同名的进程数",实际上是在询问如何统计系统中具有相同名称的进程数量。这里我们将详细讲解如何在Linux环境下执行这个操作,以及相关的一些扩展知识。 首先,`ps -ef` 是一个用于显示...

    Linux 僵尸进程产生原因及解决方法

    Linux 允许进程查询内核以获得其父进程的 PID,或者其任何子进程的执行状态。例如,进程可以创建一个子进程来执行特定的任务,然后调用诸如 wait() 这样的一些库函数检查子进程是否终止。如果子进程已经终止,那么,...

    Linux进程之如何查看进程详情.doc

    【Linux进程之如何查看进程详情】\n\n在Linux操作系统中,管理和控制进程是系统管理员的基本任务之一。要实现这一目标,首要的就是了解当前运行的进程情况,这可以通过`ps`命令来完成。`ps`命令是Linux下查看进程...

    Linux如何查看进程栈信息示例

    在Linux系统中,查看进程栈信息对于调试和分析程序的运行状态至关重要。本文将详细介绍如何在Linux环境下通过几个命令行工具来查看进程的堆栈信息,以帮助开发者了解程序运行时的线程状态和调用路径。 首先,我们要...

    Linux系统查看进程信息相关命令

    Linux系统查看进程信息相关命令 一些常用的查看进程信息的命令。

    Linux查看进程的所有信息的方法示例

    总结一下,要在Linux中查看进程的所有信息,可以结合使用以下命令: 1. `ps -ef`:列出所有进程的基本信息。 2. `/proc/PID`目录:查看更详细的进程信息,如`/proc/PID/cmdline`、`/proc/PID/exe`、`/proc/PID/...

    Linux守护进程 Linux守护进程

    Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux...

Global site tag (gtag.js) - Google Analytics