考虑这个例子:
#include <stdio.h>
#include <unistd.h>
int main()
{
int pgid;
if ((pgid = getpgid(0)) == -1)
perror("getpgid");
else
printf("pgid : %d\n", pgid);
}
Run Code Online (Sandbox Code Playgroud)
当我在不使用valgrind的情况下运行此程序时,一切都进行正确,并打印了pgid。每当我使用valgrind时,perror都会打印getpgid: Function not implemented。
它是正常的,getpgid是没有根据的valgrind可用?
是否有其他方法可以获取特定pid的pgid(不包括
getpgrp)?
我正在使用macOS Sierra 10.12.6和valgrind-3.15.0。
我试图理解一个 shell 命令: sed -n 'p;n'
有了这个,您将能够在两行上打印,我试图了解它的命令是如何工作的(n;p),为什么它有这种行为。
例如,如果我在做p;n;n,它会选择一行三行,但p;p;n它会在第一行打印两次,隐藏第二行,在第三行打印两次等等,为什么它不打印第一行和第二行,并隐藏第三个?
我希望我有点清楚,如果有人可以帮助我,很难解释我的问题。