在C语言中:
我有一个父亲,他通过 fork()
在一个循环中生了两个儿子,我希望每个儿子都拥有(在 pid_t 类型)他兄弟的进程 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/