----------------------------------------------------------------------------------------------------------------------------
1.ps -aux 查看所有的进程(程序/一个程序就是一个进程)
对应的每列的意思:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER /用户
PID /进程id
%CPU /cpu占有百分比
%MEM /占用物理内存百分比
VSZ /占用虚拟内存
RSS /占用实际物理内存
TTY /终端号
STAT /进程状态
START /进程启动时间
TIME /实际使用cpu的时间
COMMAND /进程名称
2.进程状态:
"S":进程处在睡眠状态,表明这些进程在等待某些事件发生--比如说用户输入
stat 中的参数意义如下:
D 不可中断 Uninterruptible(usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核2.6开始无效)
X 死掉的进程
< 高优先级
n 低优先级
s 包含子进程
+ 位于后台的进程组
------------------------------
通过以上就可以查询进程状态/占用内存量(如上crawler4j运行处于休眠状态,占用约700m内存)
3.查询单个进程
ps -aux | grep crawler4j 查询进程名称匹配到crawler4j的进程
ps -aux :查询所有进程
| :管道符号
grep xxx :在所有的进程中按照(一定正则匹配)搜索到xxx的进程
查询的时候有时会显示查询进程(就是执行搜索该进程的进程),这个不用管
4.杀进程
kill -9 进程id
----------------------------------------------------------------------------------------------------------------------------
1.查询所有进程
ps -ef
UID //用户ID、但输出的是用户名
PID //进程的ID
PPID //父进程ID
C //进程占用CPU的百分比
STIME //进程启动时间
TIME //实际使用cpu运行时间
TTY //该进程在那个终端上运行,若与终端无关,则显示?
CMD //命令的名称和参数(含有进程的名称)
2.查询单个进程
ps -ef | grep crawler4j 查询进程名称匹配到crawler4j的进程
解释同上
运维人员说查询进程一般用ps - ef | grep ...