- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 setuid()
调用之后使用了 prctl(pr_set_dumpable, 1)
来启用核心转储生成。我发现使用 prctl(pr_set_dumpable, 1)
也会更改所有者:位于 /proc/(pid)
位置的所有文件的组,这是副作用还是预期?
最佳答案
郑重声明,我只是在尝试关闭 coredumps 时被绊倒,而且我没有使用 setuid
。当我运行这个程序时:
#include <stdio.h>
#include <stdlib.h>
#include <sys/prctl.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
char ls_cmd[64];
snprintf(ls_cmd, sizeof(ls_cmd), "/bin/ls -ld /proc/%d/fd", getpid());
system(ls_cmd);
if (0 > prctl(PR_SET_DUMPABLE, 0)) {
perror("can't prctl(PR_SET_DUMPABLE)");
return 1;
}
system(ls_cmd);
return 0;
}
我得到了这个结果(已编辑):
$ ./prctl-and-proc
dr-x------ 2 myuname mygroup 0 Feb 2 17:08 /proc/23999/fd
dr-x------ 2 root root 0 Feb 2 17:08 /proc/23999/fd
关于linux - prctl(pr_set_dumpable, 1) 有明显的副作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8338065/
prctl的原型(prototype)是 int prctl(int option, unsigned long arg2, unsigned long arg3, unsigne
确保子进程在父进程终止时终止是很棘手的。我找到了一个可靠的解决方案 from Python in Linux是指示内核在父进程终止时使用 prctl(PR_SET_PDEATHSIG, SIGTERM
if(prctl(PR_SET_NO_NEW_PRIVS, 1) == -1) err(0, "PR_SET_NO_NEW_PRIVS failed"); 我将上面的代码作为程序的第一行。我总
我正在使用 prctl() 更改 C: 中的 pthreads 线程名称 // Set our thread name to assist with debugging a running pro
据我所知,在父进程死亡时终止子进程的最佳方法是通过 prctl(PR_SET_PDEATHSIG)(至少在 Linux 上):How to make child process die after p
我在 setuid() 调用之后使用了 prctl(pr_set_dumpable, 1) 来启用核心转储生成。我发现使用 prctl(pr_set_dumpable, 1) 也会更改所有者:位于 /
我正在尝试使用 prctl( PR_SET_NAME, "procname", 0, 0, 0) 为进程设置名称,当我阅读有关 PR_SET_NAME 的 Linux 手册时,看起来像如果我理解正确,
RH7 上的 perl-5.24.0 我希望 fork 进程在确定其父进程死亡时自行终止。我读过我可以使用 Linux::Prctl, set_pdeathsig() 来做到这一点。但是我对此的测试似
我有一个正在 fork 到子进程的进程。如果父进程存在,则子进程不应存在。 因此,我在子进程中调用 ::prctl(PR_SET_PDEATHSIG, SIGKILL) 以在父进程死亡时将其杀死。 最
我目前正在尝试学习如何使用 Linux prctl(PR_SET_CHILD_SUBREAPER) 和 prctl(PR_GET_CHILD_SUBREAPER)。 不幸的是,当我使用这些功能时,我似
我需要为一些线程设置名称。 prctl(PR_SET_NAME PR_SET_NAME) 和 pthread_setname_np() 有什么区别? 最佳答案 pthread_setname_np(p
我收到此警告“警告安装 python-prctl,以便可以保证清理进程。”虽然我已经从 this 安装了“python-prctl”地点。但仍然收到此警告,我正在使用 tensorpack 通过使用
我正在尝试安装一些程序(石头,http://www.gcd.org/sengoku/stone/Welcome.en.html) 在带有 Xcode (4.3.3) 的 Max OS linon (1
C 和 C++,我一直在使用 prctl(PR_SET_PDEATHSIG, SIGKILL);它工作得很好。当我在 shell 脚本中生成子进程时,我使用了这样的东西: pid=$!
是否可以执行与 prctl(PR_SET_DUMPABLE, 0) 相同的操作,但对于其他进程,例如一个子进程,还是被 exec 执行的进程?下面的程序演示了可转储标志不是由 execv 的进程继承的
我是一名优秀的程序员,十分优秀!