我必须使用EXEC系列来查找所拥有的进程(用户)并将其写入文件中。
CODE:
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);
}
任何帮助表示赞赏! 感谢
答案 0 :(得分:5)
您正在做的是thedailywtf相当于getuid(2)
。如果您想获取登录名,可以使用getpwuid(3)
。
答案 1 :(得分:0)
getppid()
获取父pid,请查看手册页以获取更多信息
pid_t parent_pid = getppid();
答案 2 :(得分:0)
最后,我用户EXECVE ... 它对我来说很好。