linux 查看进程状态 代码(linux 查看进程状态)-冯金伟博客园

如何查看linux进程

linux 下查看进程可以使用的命令:

1、ps命令查找与进程相关的PID号:

2、ps a 显示现行终端机下的所有程序,包括其他用户的程序。

3、ps -A 显示所有程序。

4、ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。

5、ps -e 此参数的效果和指定”A”参数相同。

6、ps e 列出程序时,显示每个程序所使用的环境变量。

7、ps f 用ASCII字符显示树状结构,表达程序间的相互关系。

8、ps -H 显示树状结构,表示程序间的相互关系。

9、ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。

10、ps s 采用程序信号的格式显示程序状况。

11、ps S 列出程序时,包括已中断的子程序资料。

12、ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。

linux怎么查看一个进程的执行状态

1,写一个服务,用exec或popen执行ps的命令行,根据该进程的名字获取该进程的pid。

sprintf(cmd, “ps -ef|grep %s “,name);

pstr=popen(cmd, “r”);

然后php定时的请求这个机器上的进程状态,如果进程挂掉了,可以做个预警。

2,如果想做的更多,监视当前每个进程的资源消耗,比如CPU,内存,根据进程的id,可以去拿到/proc/pid/status中的一些数据,比如:

//获取进程占用内存

unsigned int get_proc_mem(unsigned int pid){

char file_name={0};

FILE *fd;

char line_buff={0};

sprintf(file_name,”/proc/%d/status”,pid);

fd =fopen(file_name,”r”);

if(nullptr == fd){

return 0;

}

char name;

int vmrss;

for (int i=0; i<VMRSS_LINE-1;i++){

fgets(line_buff,sizeof(line_buff),fd);

}

fgets(line_buff,sizeof(line_buff),fd);

sscanf(line_buff,”%s %d”,name,&vmrss);

fclose(fd);

return vmrss;

}

然后你就可以通过一些图形做一些动态展示了。

linux什么命令查看程序运行状态?

查看系统所有正在运行的进程,可以用ps aux命令(它的-a参数表示,不与终端有关的进程也显示出来)。还有一个和ps命令相似的命令是pstree,pstree命令用于列出正在运行的进程的进程树,所谓进程树就是显示有关系的进程的相关性,也就是显示父子进程之间的关系。pstree命令的常见用法是:pstree -Aup

-A参数表示:显示出来的进程树连接,用ASCII字符来显示

-u参数表示:列出进程的所属用户

-p参数表示:列出每个进程的PID

ps命令和pstree命令是选取一个时间点的进程状态,还有一个top命令可以持续检测进程运行状态,它显示的是动态的信息,有点像Windows的任务管理器(不过top命令是命令行),使用方法:

top -d 数字

-d参数后面接一个数字表示几秒更新一次显示,一般可以设置成2,表示2秒一更新。

如何查看当前Linux系统的状态?

可以用TOP工具查看实时状态。

top进入视图:

第一行:10:01:23 当前系统时间126 days, 14:29 系统已经运行了126天14小时29分钟(在这期间没有重启过)2 users 当前有2个用户登录系统load average: 1.15, 1.42, 1.44 load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。 第二行:Tasks 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。 第三行:cpu状态6.7% us 用户空间占用CPU的百分比。0.4% sy 内核空间占用CPU的百分比。0.0% ni 改变过优先级的进程占用CPU的百分比92.9% id 空闲CPU百分比0.0% wa IO等待占用CPU的百分比0.0% hi 硬中断(Hardware IRQ)占用CPU的百分比0.0% si 软中断(Software Interrupts)占用CPU的百分比

第四行:内存状态8306544k total 物理内存总量(8GB)7775876k used 使用中的内存总量(7.7GB)530668k free 空闲内存总量(530M)79236k buffers 缓存的内存量 (79M) 第五行:swap交换分区2031608k total 交换区总量(2GB)2556k used 使用的交换区总量(2.5M)2029052k free 空闲交换区总量(2GB)4231276k cached 缓冲的交换区总量(4GB)

如何查看linux正在运行的进程?

使用搜索功能搜索“Terminal”,打开Ubuntu命令行终端。

通过控制台Terminal,执行ps的帮助命令“ps –help a”查看ps命令支持的参数列表。

在控制台,使用命令“ps -A”查看当前系统所有的进程。

在控制台使用ps命令“ps -aux|less”,查看当前系统正在运行的所有进程。

在控制台使用ps命令“ps -U root -u root -N”,查看当前系统中非root运行的所有进程。

6在控制台使用ps命令“ps -u test”,查看当前系统中test用户运行的所有进程。