📄 cw_pipe.c
字号:
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#define MAXLINE 256
void err_sys (const char* info)
{
perror (info);
exit (1);
}
int main (void)
{
int n, fd [2];
pid_t pid;
char line [MAXLINE];
//char *argv[]={"ps","-l",NULL};
if (pipe (fd) < 0)
err_sys ("pipe error");
if ( (pid = fork ()) < 0)
err_sys ("fork error");
else if (pid > 0) { // parent
//execvp(argv[0] ,&argv[0]);
close (fd [0]);
write (fd [1], "hello world\n", 12);
}
else { // child
printf("current process id is %d\n",getpid ());
printf("parent process id is %d\n",getppid ());
printf("uid is %d\n",getuid ());
printf("gid is %d\n",getgid ());
printf("user login id is %s\n",getlogin());
//uid_t getegid (void);
// execvp(argv[0] ,&argv[0]);
close (fd [1]);
n = read (fd[0], line, MAXLINE);
write (STDOUT_FILENO, line, n);
// execvp(argv[0] ,&argv[0]);
}
exit (0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -