❶ linux 下,已知子进程的情况下,打印(显示)父进程
在Linux下,可以有两种比较方便的方法:
1. # pstree
通过系统的进程树来查看某个进程的父进程;
2. # ps -ef |grep <进程名>
在显示的输出中,第三列就是该进程的父进程PID,然后可以再使用ps命令来查看父进程的名称
# ps -ef |grep <父进程PID>
这应该就是你想要的结果吧?
❷ linux终端下使用pipe实现父子进程交互
看这个问题好久都没人回答。。。
挺简单的,fork一子一父进程,父进程循环读入文件内容,并写进道管道里面,子进程循环从管道接收然后打印出来。
撸码辛苦,望采纳。
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<unistd.h>
#include<string.h>
#include<fcntl.h>
intmain()
{
pid_tresult;
intn,num;
intpipe_fd[2];
intfd;
charbuf1[100],buf2[100];
memset(buf1,0,sizeof(buf1));
memset(buf2,0,sizeof(buf2));
fd=open("/home/w.c",O_RDONLY);
if(pipe(pipe_fd)<0)
{
printf("error! ");
return-1;
}
result=fork();
if(result<0)
{
printf("error! ");
exit(0);
}
elseif(result==0)
{
close(pipe_fd[1]);
while((n=read(pipe_fd[0],buf1,99))>0)
{
buf1[n]='