在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/

10-11 00:48