linux:启动时挂起进程
|
我想产生一个挂起的进程,可能在另一个用户的上下文中(例如,通过sudo -u ...),为产生的进程设置一些iptables规则,继续运行该进程,并在该进程删除iptable规则存在。
是否有任何标准方法(bash,corutils等)可以实现上述目标?特别是,如何在挂起状态下生成进程并获取其pid?
没有找到相关结果
已邀请:
5 个回复
缕嚏冻
然后像这样调用它:
但是,所有这些都是过分的。您无需在挂起状态下生成进程即可完成工作。只需编写一个包装脚本
:
然后像这样称呼它
号拳藐孔妇
并打印子pid。 在孩子中,等待用户按Enter。这会使孩子入睡,您可以使用pid添加规则。 添加规则后,用户按Enter键。孩子使用
或
运行您的原始程序。 这样行吗? 编辑: 实际上,您可以使用Shell脚本执行上述过程。尝试以下bash脚本:
您可以以
的价格运行它
孝箱捆讨
在程序主要功能启动时暂停程序(使用命令“ break main \”)。这将确保该过程足够快地挂起(尽管某些初始化例程可以在
之前运行,但它们可能不会做任何相关的事情)。但是,为此,您将需要调试信息以启动要挂起的程序。 建议您先手动尝试一下,看看它是如何工作的,然后再找出如何编写完成的脚本。 另外,也可以不使用iptables,而使用SELinux或基于sydbox的基于ptrace的工具来限制进程(如果确实是您要这样做!)。
佃蒜狗掂哥
梆晨灸碾
,但在最坏的情况下,您可以使其停止并发出信号 以各种方式使用bash流程的
重新启动已停止的bash进程(
),然后执行
-另一个内置函数-启动您的真实进程(它将继承PID)