“Linux 进程管理”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
第174行: 第174行:
 
[root@localhost ~]# fg 1</nowiki>
 
[root@localhost ~]# fg 1</nowiki>
  
== 终止进程的运行 ==
 
 
 
=== Ctrl+C组合键 ===
 
中断正在执行的命令
 
 
 
=== kill、killall命令 ===
 
kill用于终止指定PID号的进程
 
 
killall用于终止指定名称的所有进程
 
 
-9 选项用于强制终止
 
 
<nowiki>[root@localhost ~]# pgrep -l "portmap"
 
2869  portmap
 
[root@localhost ~]# kill  -9  2869
 
[root@localhost ~]# killall -9 vim
 
[1]-  已杀死              /usr/bin/vim file1
 
[2]-  已杀死              /usr/bin/vim file2
 
</nowiki>
 
 
 
=== pkill命令 ===
 
用途:根据特定条件终止相应的进程
 
 
常用命令选项:
 
 
<nowiki>-U:根据进程所属的用户名终止相应进程
 
-t:根据进程所在的终端终止相应进程</nowiki>
 
 
<nowiki>[root@localhost ~]# w | grep -v "root"
 
14:10:10 up  6:08,  4 users,  load average: 0.00, 0.01, 0.00
 
USER    TTY      FROM              LOGIN@  IDLE  JCPU  PCPU WHAT
 
teacher  tty1    -                14:04    5:34  0.16s  0.16s -bash
 
hackli  pts/1    173.17.17.174    14:05    4:32  0.17s  0.17s -bash
 
[root@localhost ~]# pkill -9 -t pts/1
 
[root@localhost ~]# w | grep -v "root"
 
14:12:22 up  6:10,  3 users,  load average: 0.00, 0.00, 0.00
 
USER    TTY      FROM              LOGIN@  IDLE  JCPU  PCPU WHAT
 
teacher  tty1    -                14:04    7:46  0.16s  0.16s -bash</nowiki>
 
  
 
==设置进程的优先级==
 
==设置进程的优先级==
第263行: 第222行:
 
通过系统监视器可以实现对CPU、硬盘、内存和交换分区的实时监视  
 
通过系统监视器可以实现对CPU、硬盘、内存和交换分区的实时监视  
  
 +
== 终止进程的运行 ==
 +
 +
 +
=== Ctrl+C组合键 ===
 +
中断正在执行的命令
 +
 +
 +
=== kill、killall命令 ===
 +
kill用于终止指定PID号的进程
 +
 +
killall用于终止指定名称的所有进程
 +
 +
-9 选项用于强制终止
 +
 +
<nowiki>[root@localhost ~]# pgrep -l "portmap"
 +
2869  portmap
 +
[root@localhost ~]# kill  -9  2869
 +
[root@localhost ~]# killall -9 vim
 +
[1]-  已杀死              /usr/bin/vim file1
 +
[2]-  已杀死              /usr/bin/vim file2
 +
</nowiki>
 +
 +
 +
=== pkill命令 ===
 +
用途:根据特定条件终止相应的进程
 +
 +
常用命令选项:
 +
 +
<nowiki>-U:根据进程所属的用户名终止相应进程
 +
-t:根据进程所在的终端终止相应进程</nowiki>
 +
 +
<nowiki>[root@localhost ~]# w | grep -v "root"
 +
14:10:10 up  6:08,  4 users,  load average: 0.00, 0.01, 0.00
 +
USER    TTY      FROM              LOGIN@  IDLE  JCPU  PCPU WHAT
 +
teacher  tty1    -                14:04    5:34  0.16s  0.16s -bash
 +
hackli  pts/1    173.17.17.174    14:05    4:32  0.17s  0.17s -bash
 +
[root@localhost ~]# pkill -9 -t pts/1
 +
[root@localhost ~]# w | grep -v "root"
 +
14:12:22 up  6:10,  3 users,  load average: 0.00, 0.00, 0.00
 +
USER    TTY      FROM              LOGIN@  IDLE  JCPU  PCPU WHAT
 +
teacher  tty1    -                14:04    7:46  0.16s  0.16s -bash</nowiki>
  
  
  
 
返回 [[Linux基础]]
 
返回 [[Linux基础]]

2018年7月2日 (一) 12:22的版本

任务04:进程管理

linux基本命令

本章内容

什么是进程

进程管理

系统监视工具

计划任务



查看进程信息

ps命令

用途:查看静态的进程统计信息

格式:ps aux

ps -elf

常用命令选项

a:显示当前终端下的所有进程信息
 u:使用以用户为主的格式输出进程信息
 x:显示当前用户在所有终端下的进程信息 
 -e:显示系统内的所有进程信息
 -l:使用长格式显示进程信息
 -f:使用完整的格式显示进程信息

查看当前用户在当前控制台上启动的进程。

[root@localhost memcached-1.4.29]# ps

PID TTY          TIME CMD
 9280 pts/1    00:00:00 bash
10151 pts/1    00:00:00 ps
  • PID:表示进程号,系统根据这个编号处理相应的进程。
  • TTY:表示登陆的终端号。
  • TIME:表示该进程消耗的cpu时间。
  • CMD:表示正在执行的命令或进程。

查看当前控制台上进程的详细信息。

[root@localhost memcached-1.4.29]# ps -l

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0  9280  9273  0  80   0 - 27090 wait   pts/1    00:00:00 bash
4 R     0 10156  9280  0  80   0 - 26494 -      pts/1    00:00:00 ps
  • F:该进程状态的标记。
  • S:进程状态代码。
  • UID:进程执行者的ad号。
  • PPID:父进程的标识符。
  • PRI:进程执行的动态优先级。
  • NI:进程执行的静态优先级。
  • SZ:进程占用内存空间的大小,以kb为单位。

查看系统中每位用户的全部进程。

[root@localhost ~]# ps aux

USER  PID %CPU %MEM VSZ RSS TTY STAT START TIME  COMMAND
root       1  0.0  0.3     2648   604 ?        S    Apr02     0:13   init [3]
root       2  0.0  0.0       0       0 ?        SN   Apr02    0:00   [ksoftirqd/0]
root       3  0.0  0.0       0       0 ?        S<   Apr02    0:19   [events/0]
root       4  0.0  0.0       0       0 ?        S<   Apr02    0:00   [khelper]

注意,虽然-aux参数可以提供最详尽的信息,但是有时并不是很容易找出所需的信息,因此,系统管理员常常配合grep命令的使用,以缩小查看范围。

[fly@localhost memcached-1.4.29]$ ps -aux |grep fly
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root     10171  0.0  0.0 161352  1860 pts/1    S    06:32   0:00 su fly
fly      10173  0.0  0.0 108360  1796 pts/1    S    06:32   0:00 bash
fly      10187  0.0  0.0 108084  1100 pts/1    R+   06:33   0:00 ps -aux
fly      10188  0.0  0.0 103264   848 pts/1    S+   06:33   0:00 grep fly

top命令

用途:查看动态的进程排名信息

这个命令与ps命令很相似,都是用来显示目前系统正在执行的进程,但是与ps命令最大的不同是,它在执行后会于指定的时间间隔来更新显示的信息,因此它可以动态的监督系统性能。

[root@localhost ~]# top

top - 06:08:48 up 4 days,  6:57,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  60 total,   1 running,  59 sleeping,   0 stopped,   0 zombie
Cpu(s): 0.3% us,  0.7% sy, 0.0% ni, 97.4% id,  0.4% wa,  0.1% hi, 1.1% si
Mem:    191228k total,   171424k used,    19804k free,    19436k buffers
Swap:   265064k total,     1284k used,   263780k free,   120480k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM  TIME+  COMMAND
 6779 root      16   0  2536  832  668 R  3.8  0.4   0:00.04 top
    1 root      16   0  2648  604  520 S  0.0  0.3   0:13.54 init
    2 root      34   19     0    0    0 S  0.0  0.0   0:00.07 ksoftirqd/0


pgrep命令

用途:根据特定条件查询进程PID信息

常用命令选项:

-l:列出进程的名称
 -U:根据进程所属的用户名进行查找
 -t:根据进程所在的终端进行查找
[root@localhost ~]# pgrep "init"
1
[root@localhost ~]# pgrep -l "log"
2538 syslogd
2541 klogd
3221 login
[root@localhost ~]# pgrep -l -U teacher -t tty1
27483 bash
27584 vim


pstree命令

用途:以树型结构显示各进程间的关系

常用命令选项:

-p:列出进程的PID号
 -u:列出进程对应的用户名
 -a:列出进程对应的完整命令

[root@localhost ~]# pstree -aup

init,1
  ├─acpid,2866
  ├─atd,3060
  ├─auditd,2516
  │   ├─python,2518 /sbin/audispd
  │   └─{auditd},2517
  ├─automount,2842


进程的前后台调度

jobs命令

jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务。

[root@localhost memcached-1.4.29]# find / -name password123 &
[root@localhost memcached-1.4.29]# jobs -l
[2]+ 10295 Done                    find / -name password123


Ctrl+Z 组合键

将当前进程挂起

[root@localhost memcached-1.4.29]# vi 123.txt

[1]+ Stopped vi 123.txt

bg命令

这个命令可以将挂起的前台作业切换到后台运行。

[root@localhost memcached-1.4.29]# bg 1
[1]+ vi 123.txt &

fg命令

这个命令可以把后台作业调入前台运行。

我们可以把刚才做要好唯一的作业切换到前台,继续执行。

[root@localhost ~]# fg 1</nowiki>


设置进程的优先级

在linux中,每个进程在执行时都会被赋予使用cpu的优先等级。优先等级越高,系统提供较多的cpu使用时间,需要较短的执行时间,反之则需要较长的执行时间,因此如有特殊的需求,可以使用nice和renice命令来自行设置进程执行的优先级。

nice命令

格式:nice [-优先级数值] 命令

功能:用指定的优先级来启动指定进程。

以下通过六个不同优先等级的命令来说明nice命令的使用方法。

[root@localhost memcached-1.4.29]# vi &
[1] 10336
[root@localhost memcached-1.4.29]# nice vi &
[2] 10337

[1]+  Stopped                 vi
[root@localhost memcached-1.4.29]# nice -50 vi &
[3] 10338

[2]+  Stopped                 nice vi
[root@localhost memcached-1.4.29]# nice -18 vi &
[4] 10340

[3]+  Stopped                 nice -50 vi
[root@localhost memcached-1.4.29]# nice --18 vi &
[5] 10342

[4]+  Stopped                 nice -18 vi
[root@localhost memcached-1.4.29]# nice --50 vi &
[6] 10343

[5]+  Stopped                 nice --18 vi
[root@localhost memcached-1.4.29]# ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0  9280  9273  0  80   0 - 27090 wait   pts/1    00:00:00 bash
0 T     0 10336  9280  0  80   0 - 29282 signal pts/1    00:00:00 vi
0 T     0 10337  9280  0  90  10 - 29282 signal pts/1    00:00:00 vi
0 T     0 10338  9280  0  99  19 - 29282 signal pts/1    00:00:00 vi
0 T     0 10340  9280  0  98  18 - 29282 signal pts/1    00:00:00 vi
4 T     0 10342  9280  0  62 -18 - 29282 signal pts/1    00:00:00 vi
4 T     0 10343  9280  0  60 -20 - 29282 signal pts/1    00:00:00 vi
4 R     0 10344  9280  0  80   0 - 26494 -      pts/1    00:00:00 ps

桌面环境下监视系统

通过系统监视器可以实现对CPU、硬盘、内存和交换分区的实时监视

终止进程的运行

Ctrl+C组合键

中断正在执行的命令


kill、killall命令

kill用于终止指定PID号的进程

killall用于终止指定名称的所有进程

-9 选项用于强制终止

[root@localhost ~]# pgrep -l "portmap"
2869  portmap
[root@localhost ~]# kill  -9  2869
[root@localhost ~]# killall -9 vim
[1]-  已杀死               /usr/bin/vim file1
[2]-  已杀死               /usr/bin/vim file2


pkill命令

用途:根据特定条件终止相应的进程

常用命令选项:

-U:根据进程所属的用户名终止相应进程
 -t:根据进程所在的终端终止相应进程
[root@localhost ~]# w | grep -v "root"
14:10:10 up  6:08,  4 users,  load average: 0.00, 0.01, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
teacher  tty1     -                14:04    5:34   0.16s  0.16s -bash
hackli   pts/1    173.17.17.174    14:05    4:32   0.17s  0.17s -bash 
[root@localhost ~]# pkill -9 -t pts/1
[root@localhost ~]# w | grep -v "root"
 14:12:22 up  6:10,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
teacher  tty1     -                14:04    7:46   0.16s  0.16s -bash


返回 Linux基础