进程是CPU及内存中运行的程序代码,而每个进程可以创建一个或者多个进程(父子进程)。

查看进程的方法:

第1种:

ps aux

ps命令用于报告当前系统的进程状态。
可以搭配kill指令随时中断、删除不必要的程序。
ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

a: 显示当前终端下的所有进程信息,包括其他用户的进程。
u: 使用以用户为主的格式输出进程信息。
x: 显示当前用户在所有终端下的进程。

linux 判断java进程是否存在 linux判断进程是否在运行_缓存

USER:启动该进程的用户账号名称
PID:该进程的ID号,在当前系统中是唯一的
%CPU:CPU的占用比例
%MEM:内存占用比例
VSZ:占用虚拟内存(swap空间)的大小
RSS:占用常驻内存(物理内存)的大小
TTY:该进程在哪个终端上运行,?表示未知或者不需要终端
STAT:显示当前进程的状态,S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)、I(???网上没搜到啊)
START:启动该进程的时间
TIME:该进程占用CPU时间
COMMAND:启动该进程的命令的名称

注:

linux 判断java进程是否存在 linux判断进程是否在运行_缓存_02


参考:

总结:ps aux 是以简单列表的形式显示出进程信息。

第2种:

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

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

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

linux 判断java进程是否存在 linux判断进程是否在运行_python_03


PPID为父进程的PID

第3种:

top

linux 判断java进程是否存在 linux判断进程是否在运行_sed_04


以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次,其作用基本类似于Windows系统中的任务管理器。

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

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

Mem(内存)信息:total,总内存空间;used,已用内存;free,空闲内存;buffers,缓存区域。

Swap(交换空间)信息:total,总交换空间;used,已用交换空间;free,空闲交换空间;cached,缓存空间。

第4种:

pstree -aup

linux 判断java进程是否存在 linux判断进程是否在运行_python_05


举例:

查看服务器下python进程

ps -ef|grep python

linux 判断java进程是否存在 linux判断进程是否在运行_缓存_06


中断python程序1.train.py

kill -9 58828  # 58828是该进程id

成功中断:

linux 判断java进程是否存在 linux判断进程是否在运行_linux 判断java进程是否存在_07


当然,也可以杀死所有python进程

killall -9 python