我必须使用EXEC系列来查找拥有的进程(用户),并将其写入文件中。
代码:
sprintf(buffer, "%d", getpid());
if ((pid = fork()) == -1)
exit(EXIT_FAILURE);
else if (pid == 0)
{
dup2(fd,STDOUT_FILENO);
dup2(fd,STDERR_FILENO);
// function that Write in the file
fdprintf(fd, "\n%s %s%d secondes %s\n", adornment, toShow, sec, adornment);
if (execlp("ps", "u", buffer, NULL) == -1)
show_err("Exelp Error\n");
}
else
{
wait(NULL);
fdprintf(fd, "%s %s%d secondes %s\n", adornment, toShow, sec, adornment);
close(fd);
}如有任何帮助,我们不胜感激!谢谢
发布于 2012-03-26 16:33:51
最后,我使用EXECVE...它对我来说很好。
发布于 2012-03-20 22:13:25
您正在做的是getuid(2)的thedailywtf等价物。如果你想获得登录名,你可以使用getpwuid(3)。
发布于 2012-03-20 22:11:46
getppid()
获取家长pid,查看手册页以了解更多信息
pid_t parent_pid = getppid();https://stackoverflow.com/questions/9788431
复制相似问题