1
13
这个很有趣,我花了一段时间。 第一个真正的提示是对另一个问题的回答: https://unix.stackexchange.com/questions/364568/how-to-read-the-proc-pid-fd-directory-of-a-process-which-has-a-linux-capabil -只是想给你点学分。 它不能正常工作的原因
你获得“权限被拒绝”的真正原因是
这已经暗示了解决方案,但首先让我们更深入地研究一下,看看
现在已经很清楚了:我们的进程具有shell用来启动它的能力,因此dumpable属性被设置为false,因此
如何使其工作修复方法很简单,只需在尝试打开文件之前重新设置可转储属性。打开文件之前,请粘贴以下内容或类似内容:
希望有帮助;) |
2
2
这不是答案(
dvk already provided the answer
对所述问题),但一个扩展的评论描述了经常被忽视,可能非常危险的副作用,减少
总之,使用
(默认情况下,具有能力的进程是不可转储的,因此即使进程被部署为生成核心的信号杀死,也不会生成核心转储。)
我想评论的危险是
Linux内核保持一个内部值,
创建进程时,它将继承其
减少
(你可以通过检查
fs/proc/base.c:__set_oom_adj()
在Linux内核中;请参见
问题是
例如,如果您有一个具有
(因为只有两千零一种可能
当然,还有一些缓解措施和策略来避免继承问题。
例如,如果您有一个重要的进程,而OOM杀手不应该单独处理,这不应该创建子进程,那么您应该使用一个具有
如果您有一个创建新子进程的服务,但是您希望父进程比其他进程更不容易被OOM杀死,并且您不希望子进程继承它,那么有两种方法可以工作。
将OOM情况下可以取消/取消的工作放入具有较高
|
CaTx · 使用带有一个大于号和两个大于号的回波的区别 2 年前 |
Ari157 · x86_64 Linux程序集中的逻辑与实现 2 年前 |
Ty Q. · 分段故障GLFW3/GLAD 2 年前 |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
Bastien L. · 多Linux Grafana集成 2 年前 |