python2,一个进程为inotify.py,另一个进程为jes-agent.1.service,通过CGroup将inotify.py进程作为子进程挂载到jes-agent.1.service进程中
时间: 2024-03-09 17:44:34 浏览: 71
好的,你的问题是如何使用CGroup将inotify.py进程作为子进程挂载到jes-agent.1.service进程中。在Python2中,你可以使用cgroups模块来进行CGroup的相关操作,同时可以使用subprocess模块来启动进程。
以下是一个简单的示例代码,可以供你参考:
```python
import cgroups
import subprocess
# 创建CGroup
cg = cgroups.Cgroup('mygroup')
# 将inotify.py进程加入到CGroup中
inotify = subprocess.Popen(['python', 'inotify.py'], stdout=subprocess.PIPE)
cg.add_task(inotify.pid)
# 将inotify.py作为子进程挂载到jes-agent.1.service进程中
jes_agent = subprocess.Popen(['jes-agent.1.service'], preexec_fn=cg.set_pid)
```
需要注意的是,以上代码仅供参考,具体的实现方式还需要根据你的具体需求进行调整。同时,你需要确保inotify.py和jes-agent.1.service进程都已经启动,并且你需要根据实际情况调整进程的启动参数。
相关问题
python2,一个进程为inotify.py,输入参数有很多,另一个进程为jes-agent.1.service,通过CGroup将inotify.py进程作为子进程挂载到jes-agent.1.service进程中
好的,你的问题是如何使用CGroup将带有输入参数的inotify.py进程作为子进程挂载到jes-agent.1.service进程中。在Python2中,你可以使用cgroups模块来进行CGroup的相关操作,同时可以使用subprocess模块来启动进程。
以下是一个简单的示例代码,可以供你参考:
```python
import cgroups
import subprocess
# 创建CGroup
cg = cgroups.Cgroup('mygroup')
# 将带有输入参数的inotify.py进程加入到CGroup中
inotify = subprocess.Popen(['python', 'inotify.py', '--param1', 'value1', '--param2', 'value2'], stdout=subprocess.PIPE)
cg.add_task(inotify.pid)
# 将inotify.py作为子进程挂载到jes-agent.1.service进程中
jes_agent = subprocess.Popen(['jes-agent.1.service'], preexec_fn=cg.set_pid)
```
需要注意的是,以上代码仅供参考,具体的实现方式还需要根据你的具体需求进行调整。同时,你需要确保inotify.py和jes-agent.1.service进程都已经启动,并且你需要根据实际情况调整进程的启动参数。
python2 已知inotify.py和jes-agent的PID,如何实现将inotify作为子进程挂载到jes-agent进程上?
可以使用以下Python代码来实现将inotify作为子进程挂载到jes-agent进程上:
```python
import os
import subprocess
# 获取inotify.py和jes-agent进程的PID
inotify_pid = <inotify.py的PID>
jes_agent_pid = <jes-agent的PID>
# 使用os模块获取jes-agent进程的进程名
jes_agent_name = os.path.basename(os.readlink('/proc/{}/exe'.format(jes_agent_pid)))
# 构造挂载inotify的命令行参数
inotify_args = ['python', 'inotify.py']
# 使用subprocess模块启动inotify进程,并将其挂载到jes-agent进程上
subprocess.Popen(['nsenter', '-t', str(jes_agent_pid), '-m', '-p', jes_agent_name] + inotify_args)
```
这段代码中,首先获取了inotify.py和jes-agent进程的PID,然后使用os模块获取jes-agent进程的进程名。接着,构造了挂载inotify的命令行参数,使用subprocess模块启动inotify进程,并将其挂载到jes-agent进程上。最终,inotify进程就会作为jes-agent的子进程运行。
阅读全文