在C语言:
我有一个父亲通过fork()
在一个循环中生成两个儿子,我希望每个儿子都有(在pid_t type)他兄弟的进程id。
我试着用管子做,但没有成功。
你知道我怎么做吗?
我是通过(write(pos[1],getpid(),sizeof(pid_t))
(这个儿子给他哥哥发了他的PID)
但它不起作用…
谢谢您!
最佳答案
write需要一个指向要写入的数据的指针。getpid
返回进程ID,而不是指向进程ID的指针。您需要将getpid
的返回值存储在变量中:
pid_t pid = getpid();
write(pos[1], &pid, sizeof(pid_t);
我假设pos[1]保存到同级的管道的文件描述符。
关于c - 两兄弟如何联系?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20140354/