如何查看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用户运行的所有进程。