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中的一些数据,比如:
//获取进程占用内存
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中,怎么查看进程所对应的服务名呢?
1。 查看进程占用的端口号 netstat -anp # netstat -anp | grep syslog udp 0 0 0。0。0。0:514 0。
0。0。0:* 31483/syslogd
2。
查看使用端口号的进程 lsof # lsof -i:514 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME xinetd 4027 root 6u IPv4 8560 TCP *:shell (LISTEN) syslogd 31483 root 8u IPv4 428081 UDP *:syslog 。
linux怎么确认进程是谁调用?
通过pid,ps -lA和ps axjf都能看到父进程的PID(ppid),编程的话,可用getppid函数
linux中查看系统当前所有进程的命令是?
Linux查询出当前系统的所有进程的方法 使用搜索功能搜索“Terminal”,打开Ubuntu命令行终端。 通过控制台Terminal,执行ps的帮助命令“ps –help a”查看ps命令支持的参数列表。 在控制台,使用命令“ps -A”查看当前系统所有的进程。 在控制台使用ps命令“ps -aux|less”,查看当前系统正在运行的所有进程。 在控制台使用ps命令“ps -U root -u root -N”,查看当前系统中非root运行的所有进程。 在控制台使用ps命令“ps -u test”,查看当前系统中test用户运行的所有进程。