===进程管理===
程序:文件,一般是二进制,静态 如:/usr/sbin/httpd,/usr/sbin/sshd
进程:是程序运行的过程, 动态,有生命周期的,动态产生和消亡的
一个程序可能对应多个进程
[root@station230 ~]# ps aux |grep 'sshd'
root 2705 0.0 0.0 7224 1020 ? Ss 08:48 0:00 /usr/sbin/sshd
root 8158 0.0 0.0 4264 676 pts/1 R+ 14:05 0:00 grep sshd
[root@station230 ~]#
[root@station230 ~]# ps aux |grep 'httpd'
root 8120 0.0 0.1 10092 2908 ? Ss 14:03 0:00 /usr/sbin/httpd
apache 8121 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8122 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8123 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8124 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8125 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8126 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8128 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8129 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
root 8160 0.0 0.0 4264 676 pts/1 R+ 14:05 0:00 grep httpd
父进程:程序运行时产生的第一个进程
子进程:由父进程衍生出来的进程
注意:如果父进程终止,子进程也会随之被终止
===查看进程===
静态ps
[root@station230 ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 2164 648 ? Ss 08:47 0:00 init [5]
USER: 运行进程的用户
PID: 进程ID
%CPU: CPU占用率
%MEM: 内存占用率
RSS 实际占用内存 单位 byte
TTY: 程序运行的终端 ?代表不依赖任何终端
STAT:状态
S 处于休眠 Sleep
R 运行
Z 僵尸进程
Ss s进程的领导者,父进程
S< <优先级较高的进程
SN N优先级较低的进程
R+ +表示是后台的进程组
START 該進程被触发启动时间
TIME 使用cpu时间
COMMAND 命令的名称和参数
#ps L //看所有支持的字段
#ps -eo pid,ppid,%mem,command |grep httpd //-o 用户自定义
[root@station230 ~]# ps axo user,pid,ppid,%mem,command |grep httpd
root 8310 1 0.1 /usr/sbin/httpd
apache 8311 8310 0.0 /usr/sbin/httpd
apache 8312 8310 0.0 /usr/sbin/httpd
apache 8313 8310 0.0 /usr/sbin/httpd
apache 8314 8310 0.0 /usr/sbin/httpd
apache 8315 8310 0.0 /usr/sbin/httpd
apache 8316 8310 0.0 /usr/sbin/httpd
apache 8318 8310 0.0 /usr/sbin/httpd
apache 8319 8310 0.0 /usr/sbin/httpd
root 9236 6798 0.0 grep httpd
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
[root@station230 ~]# ps auxf |grep httpd
root 9279 0.0 0.0 4264 672 pts/1 S+ 14:37 0:00 \_ grep httpd
root 8310 0.0 0.1 10092 2912 ? Ss 14:19 0:00 /usr/sbin/httpd
apache 8311 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8312 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8313 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8314 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8315 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8316 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8318 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8319 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
[root@station230 ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 08:47 ? 00:00:00 init [5]
查看指定进程的PID
[root@station230 ~]# ps aux |grep sshd
root 10180 0.0 0.0 7224 1024 ? Ss 16:00 0:00 /usr/sbin/sshd
[root@station230 ~]# pgrep sshd //查进程id
10180
[root@station230 ~]# pgrep vino-server
10126
[root@station230 proc]# pstree //查看进程树
======动态top
[root@station230 ~]# top -d 1 //1秒更新一次
[root@station230 ~]# top -d 1 -p 10126 查看指定进程的动态信息
[root@station230 ~]# top -d 1 -p `pgrep sshd` //命令替换
[root@station230 ~]# top -d 1 -u apache 查看指定用户的进程
[root@station230 ~]# top -b -n 2 > top.txt //按批次,将2次top信息写入到文件
第一部分:系统整体统计信息
load average: 0.86, 0.56, 0.78 CPU 1分钟,5分钟,15分钟平均负载
第二部分:进程信息
M 按内存的使用排序
P 按CPU使用排序
N 以PID的大小排序
R 对排序进行反转
< 向前
> 向后
z 彩色
x
f 修改top显示选项
调整进程的优先级:NICE
[root@station230 ~]# sleep 2000 &
[1] 9838
[root@station230 ~]# sleep 3000 &
[2] 9839
r 调整进程的优先级 (-20高) ---0--- (19低) //共0-139个优先级。0--99 保留给实时进程使用的,PR字段为RT的,无法调整。
k 给进程发送信号,15
====================================================================
shell: 设置或调整进程的优先级
[root@station230 ~]# nice -n -5 sleep 6000 & //程序运行时设置优先级
[root@station230 ~]# sleep 7000 &
[3] 10089
[root@station230 ~]# renice -20 10089 //对已运行的进程设置新的优先级
10089: old priority 0, new priority -20
====================== kill 命令 ==============================================
[root@station230 ~]# kill -l //列出所有支持的信号
编号 信号名
1) SIGHUP 重启
9) SIGKILL 强制终止
15) SIGTERM 终止(正常退出,干净),缺省信号
[root@station230 ~]# ps aux |grep sshd
root 9486 0.0 0.0 7224 1056 ? Ss 15:01 0:00 /usr/sbin/sshd
[root@station230 ~]# kill -1 9486 //发送重启信号
[root@station230 ~]# ps aux |grep sshd
root 9947 0.0 0.0 7224 1028 ? Ss 15:42 0:00 /usr/sbin/sshd
[root@station230 ~]# kill 9947
[root@station230 ~]# ps aux |grep sshd
root 9953 0.0 0.0 4264 676 pts/1 R+ 15:44 0:00 grep sshd
# killall -9 vim //只能跟进程名,杀死所有vim
==== netstat ====
[root@station230 ~]# netstat -tnlp 查看正在监听的,使用tcp协议的进程
-t tcp协议
-u udp协议
-l listen
-p PID/Program name
-n 不反解
[root@station230 ~]# netstat -tnlp |grep :5900
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 10126/vino-server
[root@station230 ~]# netstat -tnlp |grep :80
[root@station230 ~]# service httpd start
启动 httpd: [确定]
[root@station230 ~]# netstat -tnlp |grep :80
tcp 0 0 :::80 :::* LISTEN 10364/httpd
[root@station230 ~]# netstat -an |grep 5900
//查看5900端口连接的状态
'tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN
tcp 10 0 192.168.2.115:5900 192.168.2.129:46303 ESTABLISHED
tcp 10 0 192.168.2.115:5900 192.168.2.33:39213 ESTABLISHED
tcp 10 0 192.168.2.115:5900 192.168.2.116:37023 ESTABLISHED
tcp 0 0 192.168.2.115:5900 192.168.2.126:35725 ESTABLISHED
tcp 10 0 192.168.2.115:5900 192.168.2.124:33955 ESTABLISHED
tcp 10 0 192.168.2.115:5900 192.168.2.111:46551 ESTAB
[root@station230 ~]# netstat -an |grep :80
=====/proc======
虚拟目录:内核、进程运行的信息
[root@station230 ~]# cat /proc/cpuinfo 查看CPU信息
processor :0
processor :1
physical id :0
physical id :0 物理ID //确定几个cpu
flags : lm(64位)
vmx 支持虚拟化 intel
svm 支持虚拟化 AMD
[root@station230 ~]# egrep --color 'lm|vmx|svm' /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx lm constant_tsc up pni monitor ds_cpl tm2 ssse3 cx16 xtpr lahf_lm
[root@station230 ~]# cat /proc/cmdline //内核启动时传递的参数
ro root=LABEL=/1 rhgb quiet
[root@station230 ~]# free -m
total used free shared buffers cached
Mem: 2017 1955 61 0 113 1426
-/+ buffers/cache: 416 1600
Swap: 8001 0 8001
[root@station230 ~]# cat /proc/meminfo
[root@station230 ~]# uptime
17:20:58 up 8:33, 3 users, load average: 0.43, 0.36, 0.36
程序:文件,一般是二进制,静态 如:/usr/sbin/httpd,/usr/sbin/sshd
进程:是程序运行的过程, 动态,有生命周期的,动态产生和消亡的
一个程序可能对应多个进程
[root@station230 ~]# ps aux |grep 'sshd'
root 2705 0.0 0.0 7224 1020 ? Ss 08:48 0:00 /usr/sbin/sshd
root 8158 0.0 0.0 4264 676 pts/1 R+ 14:05 0:00 grep sshd
[root@station230 ~]#
[root@station230 ~]# ps aux |grep 'httpd'
root 8120 0.0 0.1 10092 2908 ? Ss 14:03 0:00 /usr/sbin/httpd
apache 8121 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8122 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8123 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8124 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8125 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8126 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8128 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
apache 8129 0.0 0.0 10092 2052 ? S 14:03 0:00 /usr/sbin/httpd
root 8160 0.0 0.0 4264 676 pts/1 R+ 14:05 0:00 grep httpd
父进程:程序运行时产生的第一个进程
子进程:由父进程衍生出来的进程
注意:如果父进程终止,子进程也会随之被终止
===查看进程===
静态ps
[root@station230 ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 2164 648 ? Ss 08:47 0:00 init [5]
USER: 运行进程的用户
PID: 进程ID
%CPU: CPU占用率
%MEM: 内存占用率
RSS 实际占用内存 单位 byte
TTY: 程序运行的终端 ?代表不依赖任何终端
STAT:状态
S 处于休眠 Sleep
R 运行
Z 僵尸进程
Ss s进程的领导者,父进程
S< <优先级较高的进程
SN N优先级较低的进程
R+ +表示是后台的进程组
START 該進程被触发启动时间
TIME 使用cpu时间
COMMAND 命令的名称和参数
#ps L //看所有支持的字段
#ps -eo pid,ppid,%mem,command |grep httpd //-o 用户自定义
[root@station230 ~]# ps axo user,pid,ppid,%mem,command |grep httpd
root 8310 1 0.1 /usr/sbin/httpd
apache 8311 8310 0.0 /usr/sbin/httpd
apache 8312 8310 0.0 /usr/sbin/httpd
apache 8313 8310 0.0 /usr/sbin/httpd
apache 8314 8310 0.0 /usr/sbin/httpd
apache 8315 8310 0.0 /usr/sbin/httpd
apache 8316 8310 0.0 /usr/sbin/httpd
apache 8318 8310 0.0 /usr/sbin/httpd
apache 8319 8310 0.0 /usr/sbin/httpd
root 9236 6798 0.0 grep httpd
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
[root@station230 ~]# ps auxf |grep httpd
root 9279 0.0 0.0 4264 672 pts/1 S+ 14:37 0:00 \_ grep httpd
root 8310 0.0 0.1 10092 2912 ? Ss 14:19 0:00 /usr/sbin/httpd
apache 8311 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8312 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8313 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8314 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8315 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8316 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8318 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
apache 8319 0.0 0.0 10092 2060 ? S 14:19 0:00 \_ /usr/sbin/httpd
[root@station230 ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 08:47 ? 00:00:00 init [5]
查看指定进程的PID
[root@station230 ~]# ps aux |grep sshd
root 10180 0.0 0.0 7224 1024 ? Ss 16:00 0:00 /usr/sbin/sshd
[root@station230 ~]# pgrep sshd //查进程id
10180
[root@station230 ~]# pgrep vino-server
10126
[root@station230 proc]# pstree //查看进程树
======动态top
[root@station230 ~]# top -d 1 //1秒更新一次
[root@station230 ~]# top -d 1 -p 10126 查看指定进程的动态信息
[root@station230 ~]# top -d 1 -p `pgrep sshd` //命令替换
[root@station230 ~]# top -d 1 -u apache 查看指定用户的进程
[root@station230 ~]# top -b -n 2 > top.txt //按批次,将2次top信息写入到文件
第一部分:系统整体统计信息
load average: 0.86, 0.56, 0.78 CPU 1分钟,5分钟,15分钟平均负载
第二部分:进程信息
M 按内存的使用排序
P 按CPU使用排序
N 以PID的大小排序
R 对排序进行反转
< 向前
> 向后
z 彩色
x
f 修改top显示选项
调整进程的优先级:NICE
[root@station230 ~]# sleep 2000 &
[1] 9838
[root@station230 ~]# sleep 3000 &
[2] 9839
r 调整进程的优先级 (-20高) ---0--- (19低) //共0-139个优先级。0--99 保留给实时进程使用的,PR字段为RT的,无法调整。
k 给进程发送信号,15
====================================================================
shell: 设置或调整进程的优先级
[root@station230 ~]# nice -n -5 sleep 6000 & //程序运行时设置优先级
[root@station230 ~]# sleep 7000 &
[3] 10089
[root@station230 ~]# renice -20 10089 //对已运行的进程设置新的优先级
10089: old priority 0, new priority -20
====================== kill 命令 ==============================================
[root@station230 ~]# kill -l //列出所有支持的信号
编号 信号名
1) SIGHUP 重启
9) SIGKILL 强制终止
15) SIGTERM 终止(正常退出,干净),缺省信号
[root@station230 ~]# ps aux |grep sshd
root 9486 0.0 0.0 7224 1056 ? Ss 15:01 0:00 /usr/sbin/sshd
[root@station230 ~]# kill -1 9486 //发送重启信号
[root@station230 ~]# ps aux |grep sshd
root 9947 0.0 0.0 7224 1028 ? Ss 15:42 0:00 /usr/sbin/sshd
[root@station230 ~]# kill 9947
[root@station230 ~]# ps aux |grep sshd
root 9953 0.0 0.0 4264 676 pts/1 R+ 15:44 0:00 grep sshd
# killall -9 vim //只能跟进程名,杀死所有vim
==== netstat ====
[root@station230 ~]# netstat -tnlp 查看正在监听的,使用tcp协议的进程
-t tcp协议
-u udp协议
-l listen
-p PID/Program name
-n 不反解
[root@station230 ~]# netstat -tnlp |grep :5900
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 10126/vino-server
[root@station230 ~]# netstat -tnlp |grep :80
[root@station230 ~]# service httpd start
启动 httpd: [确定]
[root@station230 ~]# netstat -tnlp |grep :80
tcp 0 0 :::80 :::* LISTEN 10364/httpd
[root@station230 ~]# netstat -an |grep 5900
//查看5900端口连接的状态
'tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN
tcp 10 0 192.168.2.115:5900 192.168.2.129:46303 ESTABLISHED
tcp 10 0 192.168.2.115:5900 192.168.2.33:39213 ESTABLISHED
tcp 10 0 192.168.2.115:5900 192.168.2.116:37023 ESTABLISHED
tcp 0 0 192.168.2.115:5900 192.168.2.126:35725 ESTABLISHED
tcp 10 0 192.168.2.115:5900 192.168.2.124:33955 ESTABLISHED
tcp 10 0 192.168.2.115:5900 192.168.2.111:46551 ESTAB
[root@station230 ~]# netstat -an |grep :80
=====/proc======
虚拟目录:内核、进程运行的信息
[root@station230 ~]# cat /proc/cpuinfo 查看CPU信息
processor :0
processor :1
physical id :0
physical id :0 物理ID //确定几个cpu
flags : lm(64位)
vmx 支持虚拟化 intel
svm 支持虚拟化 AMD
[root@station230 ~]# egrep --color 'lm|vmx|svm' /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx lm constant_tsc up pni monitor ds_cpl tm2 ssse3 cx16 xtpr lahf_lm
[root@station230 ~]# cat /proc/cmdline //内核启动时传递的参数
ro root=LABEL=/1 rhgb quiet
[root@station230 ~]# free -m
total used free shared buffers cached
Mem: 2017 1955 61 0 113 1426
-/+ buffers/cache: 416 1600
Swap: 8001 0 8001
[root@station230 ~]# cat /proc/meminfo
[root@station230 ~]# uptime
17:20:58 up 8:33, 3 users, load average: 0.43, 0.36, 0.36