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怎么查看一个进程的执行状态?
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中,怎么查看进程所对应的服务名呢?
1。查看进程占用的端口号netstat-anp#netstat-anp|grepsyslogudp000。0。0。0:5140。
0。0。0:*31483/syslogd
2。
查看使用端口号的进程lsof#lsof-i:514COMMANDPIDUSERFDTYPEDEVICESIZENODENAMExinetd4027root6uIPv48560TCP*:shell(LISTEN)syslogd31483root8uIPv4428081UDP*:syslog。
linux怎么确认进程是谁调用?
通过pid,ps-lA和psaxjf都能看到父进程的PID(ppid),编程的话,可用getppid函数
linux中查看系统当前所有进程的命令是?
Linux查询出当前系统的所有进程的方法使用搜索功能搜索“Terminal”,打开Ubuntu命令行终端。通过控制台Terminal,执行ps的帮助命令“ps--helpa”查看ps命令支持的参数列表。在控制台,使用命令“ps-A”查看当前系统所有的进程。在控制台使用ps命令“ps-aux|less”,查看当前系统正在运行的所有进程。在控制台使用ps命令“ps-Uroot-uroot-N”,查看当前系统中非root运行的所有进程。在控制台使用ps命令“ps-utest”,查看当前系统中test用户运行的所有进程。