python2 有一个脚本inotify.py,执行时需要有入参,现在给定一个list,如何让这个list作为inotify.py的入参?
时间: 2024-02-28 10:52:42 浏览: 63
你可以使用 Python 的 `subprocess` 模块来执行 `inotify.py` 脚本,并将 list 作为参数传递给该脚本。下面是一个示例代码:
```python
import subprocess
# 定义包含参数的 list
arg_list = ["arg1", "arg2", "arg3"]
# 使用 subprocess 调用 inotify.py 脚本,并将 arg_list 作为参数传递
result = subprocess.run(["python", "inotify.py"] + arg_list, capture_output=True)
# 打印脚本的输出
print(result.stdout.decode())
```
在这个示例中,`subprocess.run()` 函数接受一个 list 类型的参数,其中第一个元素是要执行的命令,接下来的元素是该命令的入参。
使用 `capture_output=True` 参数可以捕获脚本的输出,然后可以使用 `stdout` 属性来访问该输出。
注意,如果 `inotify.py` 脚本需要从标准输入读取输入,你需要使用 `subprocess.Popen()` 函数并手动写入输入。如果脚本需要交互式地读取输入和输出,你需要使用 `pexpect` 或类似的库。
相关问题
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'], 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进程都已经启动,并且你需要根据实际情况调整进程的启动参数。
阅读全文