IT门户, 中国互联网人工智能物联网行业资讯平台--公众IT
新闻来源:互联网资料整理       发布时间:2023/4/6 8:43:43       共计:4650 浏览

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上程序或进程用到的库?

使用ldd命令,可以查看程序使用的动态共享库文件:比如查询amixer使用的动态共享库文件:ldd/usr/bin/amixerlinux-vdso.so.

1=>(0x00007ffcab5ad000)libm.so.6=>/lib/x86_64-linux-gnu/libm.so.6(0x00007fd7317f0000)libasound.so.

2=>/usr/lib/x86_64-linux-gnu/libasound.so.2(0x00007fd731500000)libc.so.6=>/lib/x86_64-linux-gnu/libc.so.6(0x00007fd73113b000)libdl.so.2=>/lib/x86_64-linux-gnu/libdl.so.2(0x00007fd730f37000)libpthread.so.0=>/lib/x86_64-linux-gnu/libpthread.so.0(0x00007fd730d19000)librt.so.1=>/lib/x86_64-linux-gnu/librt.so.1(0x00007fd730b11000)/lib64/ld-linux-x86-64.so.2(0x00007fd731af6000)

linux查看进程由哪个进程启动?

1、查看进程“打开”的文件(方法1):

1)pidofprograme-name(获得想了解的进程(programe-name)的PID)或ps-aux|grepprograme-name(获得想了解的进程(programe-name)的PID)找出进程的PID2)cd/proc/$PID/fd(会看见文件描述符)

3)ls-l得到文件描述符指向的实际文件,即当前进程打开的文件2、查看进程“打开”的文件(方法2):

1)获得想了解的进程的PID方法同上2)lsof-cprograme-name或lsof-p$PID

Linux查看进程打开多少文件描述符命令?

linux系统下查看进程打开文件在/proc下,对应每个进程有一个以进程号命名的目录,该目录下有一个fd目录,该目录下面的每个文件是一个符号连接,其文件名对应该进程占用的一个文件描述符,而连接指向的内容表示文件描述符对应的实际文件,有多少个文件描述符表示该进程打开了多少文件。

另外Linux默认的进程打开文件上限是1024个,可以通过ulimit -n查看。很多系统上限可以通过修改/etc/security/limits.conf文件改变,这个文件有详细的注释,对如何修改做了说明。

如果希望把所有用户的进程打开文件上限改为65536,可以加入下面两行* soft nofile 65535* hard nofile 65535还可以只真对某个用户或某个组做修改,具体方法参见文件注释。

修改后需要重新启动系统才能生效。

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<终端机编号>指定终端机编号,并列出属于该终端机的程序的状况。

13、psu以用户为主的格式来显示程序状况。

14、psx显示所有程序,不以终端机来区分。

版权说明:
本网站凡注明“公众IT 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
您可以扫描右侧微信二维码联系我们。
网站首页 关于我们 联系我们 合作联系 会员说明 新闻投稿 隐私协议 网站地图