【发布时间】:2022-07-13 00:05:00
【问题描述】:
我想了解为什么以下 sn-ps 行为不同,以及如何使它们行为相同。
1。弹出()
这给了我调用进程的名称,比如“myprog”。
popen("cat /proc/$PPID/comm", "r");
2。 fork() + execl()
这给了我“sh”。
if (fork() == 0) {
close(fd[0]);
dup2(fd[1], STDOUT_FILENO);
close(fd[1]);
execl("/bin/sh", "sh", "-c", "cat /proc/$PPID/comm", (char*)NULL);
exit(EXIT_SUCCESS);
}
我的主要问题是如何让 fork()+execl() 也返回“myprog”?
【问题讨论】: