Linux进程pid怎么看linux进程pid

如题所述

linuxwaitpid函数?

waitpid函数

作用同wait,但可指定pid进程清理,可以不阻塞。

pid_twaitpid(pid_tpid,int*status,inoptions);成功:返回清理掉的子进程ID;失败:-1(无子进程)

特殊参数和返回情况:

参数pid:

>0回收指定ID的子进程

-1回收任意子进程(相当于wait)

0回收和当前调用waitpid一个组的所有子进程

-1回收指定进程组内的任意子进程

返回0:参3为WNOHANG,且子进程正在运行。

注意:一次wait或waitpid调用只能清理一个子进程,清理多个子进程应使用循环。

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显示所有程序,不以终端机来区分。

linux获取进程id函数?

linuxC中,获取当前进程id函数为getpid();

头文件:#includeunistd.h> 函数原型:pid_tgetpid(void); 函数说明:getpid()用来取得目前进程的进程id,许多程序利用取到的此值来建立临时文件,以避免临时文件相同带来的问题。 返回值:目前进程的进程id 范例 #includestdio.h> #includeunistd.h> main() { printf("pid=%d",getpid()); } 执行: pid=1494/*每次执行结果都不一定相同*/

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、查看进程“打开”的文件(方法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

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