linux查看进程状态代码linux查看进程状态

如题所述

如何查看linux进程?

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

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

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

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

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

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

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

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

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

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

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

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

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中的一些数据,比如:

//获取进程占用内存

unsignedintget_proc_mem(unsignedintpid){

charfile_name={0};

FILE*fd;

charline_buff={0};

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

fd=fopen(file_name,"r");

if(nullptr==fd){

return0;

}

charname;

intvmrss;

for(inti=0;iVMRSS_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);

returnvmrss;

}

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

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

查看系统所有正在运行的进程,可以用psaux命令(它的-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当前系统时间126days,14:29系统已经运行了126天14小时29分钟(在这期间没有重启过)2users当前有2个用户登录系统loadaverage:1.15,1.42,1.44loadaverage后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

loadaverage数据是每隔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%waIO等待占用CPU的百分比0.0%hi硬中断(HardwareIRQ)占用CPU的百分比0.0%si软中断(SoftwareInterrupts)占用CPU的百分比

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

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

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

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

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

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

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

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

温馨提示:答案为网友推荐,仅供参考