【Linux】进程管理

目录

 进程管理

ps -aux显示系统执行的进程

基本介绍

ps显示的信息选项

 参数说明  :

ps -ef全格式显示所有进程

终止进程kill和killall

常用选项

pstree查看进程树

常用选项:


 进程管理

基本介绍

1、在linux中,每个执行的程序都称为一个进程。每一个进程都分配一个ID号(pid,进程号)。

2、每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。

3.一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。

程序加载到内存就成了进程,程序是静态的,而进程是动态的,前台可以理解为占有这个屏幕直到退出才能做别的事情。后台是一般看不见的,作用是供各种各样的网络服务,比如mysql、tomcat等。

ps -aux显示系统执行的进程

基本介绍

ps命令是用来查看目前系统中,有哪些正在执行,以及他们执行的状态,可以不加任何参数。

[root@kongchao03 ~]# ps
   PID TTY          TIME CMD
  7785 pts/0    00:00:00 bash
  7829 pts/0    00:00:00 ps
[root@kongchao03 ~]# 

【Linux】进程管理_第1张图片

ps显示的信息选项

字段 说明
PID 进程识别号
TTY 终端机号
TIME 此进程所消耗CPU时间
CMD 正在执行的命令或进程

指令 说明
ps -a 显示当前终端的所有进程信息
ps -u 以用户的格式显示进程信息
ps -x 显示后台进程运行的参数

以上三个参数也可以组合使用 ps -aux

【Linux】进程管理_第2张图片

[root@kongchao03 ~]# ps -a
   PID TTY          TIME CMD
  8038 pts/0    00:00:00 ps
[root@kongchao03 ~]# ps -u
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       2746  0.2  1.4 325900 29256 tty1     Ssl+ 08:04   0:09 /usr/bin/X :0 
root       7785  0.0  0.1 116692  3364 pts/0    Ss   09:05   0:00 bash
root       8045  0.0  0.0 151064  1824 pts/0    R+   09:10   0:00 ps -u
[root@kongchao03 ~]# ps -s
  UID    PID   PENDING   BLOCKED   IGNORED    CAUGHT STAT TTY        TIME COMMAND
    0   2746  00000000  00000000  00301000 

【Linux】进程管理_第3张图片

 参数说明  :

参数 说明
USER 进程执行的用户
PID 进程号
%CPU 占用cpu的百分比
%MEM 占用物理内存的百分比
VSZ 占用虚拟内存的大小(kb)
RSS 占用物理内存的大小(kb)
TTY 终端名称,缩写
STAT 运行状态,S-表示sleep表示休眠,s-表示该进程是先到进程,N-表示进程拥有比普通优先级更低的优先级,R表示运行状态,D-短期等待,Z-僵死进程,T-被跟踪或被停止等
TIME 占用cpu时间
START 执行开始的时间
COMMAND 进程名,执行该进程的指令

注意:COMMADN列如果过长,aux会截断显示,而ef不会

ps -ef全格式显示所有进程

【Linux】进程管理_第4张图片

一般使用过滤查找更加的方便:

ps -ef |grep xxx

        PID   PPID  C STIME TTY          TIME CMD
root       3096   2931  0 14:20 pts/0    00:00:00 grep --color=auto PID
[root@kongchao02 ~]#

【Linux】进程管理_第5张图片

ps -ef 是以全格式显示当前所有的进程

-e显示所有进程,-f 全格式

参数 说明
UID 用户ID
PID 进程ID

PPID

父进程ID
C CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小。表明进程是I/O密集型运算,执行优先级会提高
STIME 进程启动的时间
TTY 完整的终端名称
TIME CPU时间
CMD 启动进程所用的命令和参数

终止进程kill和killall

介绍:

若是某个进程执行一半需要停止时,或是已消耗了很大的系统资源时,此时可以考虑停止该进程,使用kill命令来完成此项任务

语法:kill  [选项]  进程号   (解释:通过进程号杀死进程)

 语法:   kilall  进程名称   (通过进程名称杀死进程,也支持通配符,这在系统因负载过大变得很缓慢是用处大,其下的子进程也会终止)

常用选项

-9:表示强迫进程立即停止

示例:终止多个gedit,killall指令

【Linux】进程管理_第6张图片

【Linux】进程管理_第7张图片

 案例2:踢掉某个非法登录用户

kill  进程号

【Linux】进程管理_第8张图片

 示例:强制终止终端   kill  -9  bash  对应的进程号

pstree查看进程树

基本语法:pstree  [选项],可以更加直观来查看进程信息

常用选项:

-p:显示进程PID

-u:显示进程的所属用户

示例1:以树状的形式显示所有进程的pid

【Linux】进程管理_第9张图片

systemd(1)─┬─ModemManager(580)─┬─{ModemManager}(599)
           │                   └─{ModemManager}(615)
           ├─NetworkManager(729)─┬─{NetworkManager}(735)
           │                     └─{NetworkManager}(739)
           ├─VGAuthService(627)
           ├─abrt-watch-log(583)
           ├─abrt-watch-log(624)
           ├─abrtd(579)
           ├─accounts-daemon(591)─┬─{accounts-daemon}(600)
           │                      └─{accounts-daemon}(616)
           ├─alsactl(588)
           ├─at-spi-bus-laun(1941)─┬─dbus-daemon(1946)───{dbus-daemon}(1947)
           │                       ├─{at-spi-bus-laun}(1942)
           │                       ├─{at-spi-bus-laun}(1943)
           │                       └─{at-spi-bus-laun}(1945)
           ├─at-spi2-registr(1949)─┬─{at-spi2-registr}(1953)
           │                       └─{at-spi2-registr}(1955)
           ├─atd(1046)
           ├─auditd(551)─┬─audispd(553)─┬─sedispatch(555)
           │             │              └─{audispd}(556)
           │             └─{auditd}(552)
           ├─avahi-daemon(582)───avahi-daemon(598)
           ├─boltd(1566)─┬─{boltd}(1570)
           │             └─{boltd}(1575)
           ├─chronyd(606)
           ├─colord(1661)─┬─{colord}(1666)
           │              └─{colord}(1670)
.....
.....

示例2:以树状的形式显示进程的用户

【Linux】进程管理_第10张图片

[root@kongchao02 ~]# pstree -u
systemd─┬─ModemManager───2*[{ModemManager}]
        ├─NetworkManager─┬─dhclient
        │                └─2*[{NetworkManager}]
        ├─VGAuthService
        ├─2*[abrt-watch-log]
        ├─abrtd
        ├─accounts-daemon───2*[{accounts-daemon}]
        ├─alsactl
        ├─at-spi-bus-laun─┬─dbus-daemon───{dbus-daemon}
        │                 └─3*[{at-spi-bus-laun}]
        ├─at-spi2-registr───2*[{at-spi2-registr}]
        ├─atd
        ├─auditd─┬─audispd─┬─sedispatch
        │        │         └─{audispd}
        │        └─{auditd}
        ├─avahi-daemon(avahi)───avahi-daemon
        ├─boltd───2*[{boltd}]
        ├─chronyd(chrony)
        ├─colord(colord)───2*[{colord}]
        ├─crond
        ├─cupsd
        ├─dbus-daemon───{dbus-daemon}
        ├─dbus-daemon(dbus)───{dbus-daemon}
        ├─dbus-launch
.......
.......

你可能感兴趣的:(Linux,java,linux,进程)