python并发执行shell怎么实现

55次阅读
没有评论

共计 983 个字符,预计需要花费 3 分钟才能阅读完成。

在 Python 中,可以使用多线程或者多进程来实现并发执行 shell 命令。

  1. 使用多线程实现并发执行 shell 命令的方法如下:
import threading
import subprocess

def execute_shell_command(command):
    subprocess.call(command, shell=True)

threads = []

# 创建多个线程,每个线程执行一个 shell 命令 
commands = ["echo 'Hello, World!'",
    "ls -l",
    "ping www.google.com"
]

for command in commands:
    thread = threading.Thread(target=execute_shell_command, args=(command,))
    threads.append(thread)
    thread.start()

# 等待所有线程执行完毕 
for thread in threads:
    thread.join()
  1. 使用多进程实现并发执行 shell 命令的方法如下:
import multiprocessing
import subprocess

def execute_shell_command(command):
    subprocess.call(command, shell=True)

processes = []

# 创建多个进程,每个进程执行一个 shell 命令 
commands = ["echo 'Hello, World!'",
    "ls -l",
    "ping www.google.com"
]

for command in commands:
    process = multiprocessing.Process(target=execute_shell_command, args=(command,))
    processes.append(process)
    process.start()

# 等待所有进程执行完毕 
for process in processes:
    process.join()

以上两种方法都是通过循环创建多个线程或进程,每个线程或进程执行一个 shell 命令,并使用 join() 方法等待所有线程或进程执行完毕。注意,使用多线程或多进程执行 shell 命令时,需要注意线程或进程间可能存在的竞争条件和资源共享问题。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-16发表,共计983字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)