如何在UNIX上将PID写入文件

时间:2014-06-16 17:48:46

标签: c unix fork posix pid

如何使用getpid()函数将PID写入文件?

我尝试将它转换为char并编写int数组,但都不起作用。

2 个答案:

答案 0 :(得分:2)

在C中,从int转换为char是不够的。转换会改变编译器处理指针的方式,它如何对指针进行处理以及如何计算指针算法。它不会改变内容。

如果要打印int,必须将其转换为字符串。

你可以使用:

fprintf(fd, "%d", getpid());

答案 1 :(得分:0)

int fd;
FILE *somefile;

//text
fprintf(somefile, "%d", getpid()); 

//binary
pid_t pid = getpid();

fwrite(&pid, sizeof(pid), 1, somefile);  

write(fd, &pid, sizeof(pid));