查看,控制进程

程序:程序是保存在外部存储介质(如硬盘)中的可执行代码和数据的静态集合

进程:进程是运行在CPU及内存中出于动态执行状态的计算机程序,每个程序启动后可以创建多个进程

例如web,大量用户同时访问是,httpd服务会创建多个进程来提供服务

1.查看进程

(1.ps命令:查看静态的进程统计信息(ProcessesStatistic)

a:显示当前终端下的所有进程,包括其他用户的进程,与x选项结合是将显示系统中左右的进程信息

u:使用以用户为主的格式输出进程信息

x:显示当前用户所有终端下的进程信息

-e:显示系统内的所有进程信息

-l:使用长(long)格式显示进程信息

-f:使用完整的(Full)格式显示进程信息

以上是ps命令常用选项,有些选项是不带“-”的,带上以后可能会有出入,习惯把上面的选项组合用如:ps aux 或 ps -elf 命令

ps aux 输出命令解释

# ps aux

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root         1  0.0  0.2  19232  1576 ?        Ss   09:40   0:01 /sbin/init

root         2  0.0  0.0      0     0 ?        S    09:40   0:00 [kthreadd]

USER:启动该进程的用户帐号名称

PID:该进程在系统中的数字ID号,唯一的

%CPU:占用CPU的百分比

%MEM:占用内存空间的百分比

VSZ:占用虚拟内存(swap空间)的大小

RSS:占用物理内存的大小

TTY:表明该进程在那个终端上运行。

STAT:显示了进程当前的状态,S(休眠),R(运行),Z(僵死),< (高级先级),N(低优先级),S(父进程),+(前台进程)。对于僵死状态的进程应该基于手动终止。

START:启动该进程的时间。

TIME:启动该进程的时间

COMMAND:启动该进程的命令名称

若执行ps -elf命令,则会以长格式显示所有进程,并且包含更丰富的内容,例如,输出信息中还包括PPID列(表示对应进程的父进程的PID号)

直接执行PS 不添加任何参数的话,只会显示当前正在运行的进程

由于执行命令以后显示的进程数量较多,需要借用管道符和grep 对显示的进程进行过滤,例如:查看bash进程

ps -elf | grep bash

(2.top命令:查看进程动态信息

top可以动态的查看进程信息,CPU,内存等系统资源的占用情况,默认情况下每三秒更新一次,top类似于windows系统的任务管理器。

top命令输出解释

系统任务(Tasks)信息:total 总进程数;running 正在运行的进程数;sleeping 休眠的进程数;stopped 终止的进程数;zombie 僵死无响应的进程数

CPU占用信息:us,用户占用;sy 内核占用;ni 优先级调度占用;id 空闲CPU;wa I/O等待占用;hi 硬件中断占用;si 软件中断占用;st 虚拟化占用,要了解空闲的CPU百分比,主要是看%id部分。

内存占用信息:total 总内存空间;used 已用内存;free 空闲内存;buffers 缓冲区域

交换空间占用:同上


(3.pgrep命令:查询进程信息

格式:

pgrep [参数] [进程名]

-l 查询名字

-U 查询用户

-t 查询运行在特定终端上的进程

(4.pstree命令:查看进程树

pstree命令可以输出liux系统中各进程的树形结构

格式:

pstree [参数] [用户名/服务名]

-p 选项使用时可以同时列出对应的PID号

-u 选项可以列出对应的用户名

-a 选项可以列出完整的命令信息

2.控制进程

(1.手动启动进程

进程可以分为前台运行和后台运行两种,前台运行需要等待运行完成后才可以运行下一个命令,后台运行的话,可以直接运行下一个命令。

怎么让进程在后台运行呢?在命令后面添加“&”,就可以了

例: service vncserver restart &

(2.挂起当前的进程(调入后台并停止执行)

Ctrl+z 当进程正在运行的时候按 Ctrl+z 组合键可以停止执行服务并调用到后台。

(3.查看后台的进程

jobs -l  查看隐藏的进程

(4.恢复后台运行的进程

未完待续......

时间: 2024-12-16 22:22:21

查看,控制进程的相关文章

Linux中如何查看进程和控制进程

查看进程的命令如下:ps命令--查看静态的进程统计信息(一般结合选项使用 ps aux 或 ps -elf 命令)建议使用 ps -elf 查询,输出的信息更详细些,包括 PPID (对应的父进程 的PID 号) 以上输出信息中,第一行为列表标题,其中各字段的含义描述如下. USER:启动该进程的用户账号名称: PID:该进程在系统中的数字 ID 号,在当前系统中是唯一的: %CPU:CPU占用的百分比: %MEM:内存占用的百分比: VSZ:占用虚拟内存(swap 空间)的大小: RSS:占用

CentOS 7 查看和控制进程

一.查看进程了解系统中的进程状态是对进程进行管理的前提,使用不同的命令可以从不同的角度查看进程状态.1.ps命令ps命令是Linux系统中最为常见用的进程查看工具,主要用于显示包含当前运行的各进程完整信息的静态快照.通过不同的选项,可以有选择的查看进程信息. a : 显示当前终端下的所有进程信息,包括其他用户的进程u :以用户为主的进程状态 x :通常与 a 这个参数一起使用,显示当前用户在所有终端下的进程信息-e:显示系统内所有的进程信息-l :使用长格式显示进程信息-f :使用完整的格式显示

linux -- 进程的查看、进程id的获取、进程的杀死

进程查看 ps ax : 显示当前系统进程的列表 ps aux : 显示当前系统进程详细列表以及进程用户 ps ax|less : 如果输出过长,可能添加管道命令 less查看具体进程, 如:ps ax|grep XXX(XXX为进程名称) 获取进程id shell获取进程ID的方法: ps -A |grep "cmdname"| awk '{print $1}' pidof "cmdname" pgrep "cmdname" 这三种在bash和

linux查看某个进程的线程id(spid)

鉴于linux下线程的广泛使用 我们怎么查看某个进程拥有的线程id了 现在很多服务的设计 主进程->子进程->线程(比如mysql,varnish) 主进程负责侦听网络上的连接 并把连接发送给子进程 子进程派生线程去处理这些线程 mysql(父进程460,子进程863) 1 460 425 333 ? -1 S 0 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/storage/mysql/backup --pid-file=/

Linux有问必答:Linux上如何查看某个进程的线程

原创:LCTT https://linux.cn/article-5633-1.html 译者: GOLinux本文地址:https://linux.cn/article-5633-1.html2015-6-15 15:44 收藏: 9 问题: 我的程序在其内部创建并执行了多个线程,我怎样才能在该程序创建线程后监控其中单个线程?我想要看到带有它们名称的单个线程详细情况(如,CPU/内存使用率). 线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念.当一个程序内有多个线程被叉分出用以执

nethogs查看linux进程的带宽使用

sudo apt-get install build-essential sudo apt-get install libncurses5-dev libpcap-dev wget -c https://github.com/raboof/nethogs/archive/v0.8.1.tar.gz tar xf v0.8.1.tar.gz cd ./nethogs-0.8.1/ make && sudo make install 安装完输入 nethogs 可查看linux进程的带宽使用

shell的单、多、控制进程

shell的单.多.控制进程的使用方法 一.100个任务使用200秒(普通完成) cat process2.sh  #!/bin/bash function aaa ()  {  start=`date "+%s"`  for ((i=1;i<=100;i++))  do  echo test;sleep 2  done end=`date "+%s"`  echo "time:`expr $end - $start`"  }  aaa 

Android Studio如何选择查看指定进程的log?

今天说一个简单的东东,关于Android Studio在logcat中如何查看指定进程的log. 关于过滤你自己所开发的应用的log,在这篇文章中:Android Studio如何给log添加过滤项(Filters)?有提及.当 然很多时候可能我们会有这样的场景,我们想看某一个进程的log,比如我想看酷狗的log,但是如果process那栏的进 程很多,这个时候logo也会非常多,这种情况下,你很难分辨出哪个logo是属于酷狗的. 其实,Android Studio还是有和Eclipse一样的选

linux 下查看一个进程运行路径

在linux下查看进程大家都会想到用 ps -ef|grep XXX 可是看到的不是全路径,怎么看全路径呢? 每个进程启动之后在 /proc下面有一个于pid对应的路径 例如:ps -ef|grep python 显示:oracle    4431  4366  0 18:56 pts/2    00:00:00 python Server.py 4431就是进程号 到/proc/4431下,ls -l 会看到(需要root权限): 总用量 0 -r--r--r--    1 oracle