我有一个Linux进程(C程序),它产生了一对子进程。我希望在系统级别的这些子进程中禁止另一个分叉,这样如果这些进程试图分叉,就会被杀死。如何实现这一目标?我更喜欢将此策略嵌入到主机C代码中。 setrlimit(2)
可以做到吗?防止在子进程中分叉
2
A
回答
1
是的,setrlimit()可以做到这一点。请参阅手册页和
RLIMIT_NPROC
阅读起来的最大进程数(或者,更准确地说在Linux上,线程)是 可以调用进程的真实用户ID创建。在遇到此限制时,fork(2) 将失败,并显示EAGAIN错误。
或者,您可以使用/etc/security/limits.conf
设置对进程的硬限制。查找文件中的一些示例。
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
+0
我现在还不确定。你会如何限制子进程?他们继承自己的限制。 Ptrace解决方案看起来更可行。 – eeq 2014-12-08 11:08:13
相关问题
- 1. 防止大孩子在C中分叉
- 2. 分叉子进程
- 3. 进程分叉,子进程等[Java]
- 4. 分叉的子进程挂在node.js
- 5. 在子进程中使用红宝石杀死分叉进程
- 6. 如何用电子分叉子进程
- 7. 分叉进程
- 8. 终止分叉进程(转发端口)
- 9. 防止子进程的子进程写入标准输出
- 10. 分叉后退出子进程
- 11. 分叉子进程和C++对象
- 12. 在分叉进程中嵌入Mojolicious :: Server
- 13. 在django视图中分叉进程
- 14. 如何在python/django中分叉进程?
- 15. 如何杀死python中的分叉子及其jackd子进程
- 16. 为什么分叉的子进程在我分叉后立即退出?
- 17. 用Perl的舞者在子进程中分叉运行代码
- 18. 防止子进程在c中显示shell窗口#
- 19. 如何防止子进程在扩展坞中弹跳?
- 20. 防止子进程.Popen在python中显示输出
- 21. php进程分叉和获取子进程号
- 22. 分叉父进程退出后跳回到子进程
- 23. 如何在shell脚本中从分叉子进程获取进程ID(pid)
- 24. 如何防止从产卵子进程产生的进程?
- 25. 防止子进程成为孤儿进程
- 26. 分叉在Python子进程下的多个应用程序
- 27. 在golang:防止子进程以从调用过程
- 28. 与分叉进程混淆?
- 29. longjmp从分叉进程
- 30. 父进程在C#中终止时如何终止子进程
你可以发表一些代码吗?如果你只在你的父母过程中分叉,那么在子女中将没有办法分叉/你如何看待子女分支 – chris 2014-12-07 22:44:50
这个机制有多安全?您是否有任何特定的攻击方案,或者它是用于调试? – 5gon12eder 2014-12-07 22:45:03
@ 5gon12eder是的!绝对安全,因为我执行不可信的子代码。 – eeq 2014-12-07 22:45:59