Python進程管理工具可以通過多種方式使用,以下是一些常見的用法示例:
os
模塊創建新的進程:import os
pid = os.fork() # 創建一個子進程
if pid == 0:
# 子進程代碼
print("This is a child process")
else:
# 父進程代碼
print("This is the parent process")
subprocess
模塊執行外部命令:import subprocess
# 執行命令并等待命令完成
result = subprocess.run(["ls", "-l"], capture_output=True, text=True)
print(result.stdout)
# 啟動一個長時間運行的進程并與其交互
process = subprocess.Popen(["python3", "my_script.py"], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
output, error = process.communicate(input="input data")
print(output.decode())
multiprocessing
模塊創建和管理多個進程:import multiprocessing
def worker(num):
print(f"Worker {num} started")
if __name__ == "__main__":
processes = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
p.start()
processes.append(p)
for p in processes:
p.join() # 等待所有進程完成
celery
進行分布式任務管理:from celery import Celery
app = Celery('myapp', broker='pyamqp://guest@localhost//')
@app.task
def add(x, y):
return x + y
result = add.delay(4, 6)
print(result.get())
這只是一些簡單的示例,實際使用中可以根據具體需求選擇合適的工具和方法來管理和操作進程。