Python で非同期シェル コマンド実行を実装するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-22 16:07:02
オリジナル
693 人が閲覧しました

How to Implement Asynchronous Shell Command Execution in Python?

Python での非同期シェル コマンドの実行

Python スクリプト内で外部シェル コマンドの非同期実行を容易にするために、OS の使用を検討できます。 .system() 関数。ただし、このアプローチでは、同期動作を回避するために、コマンドの最後に & 記号が使用されます。その結果、非同期実行を実現するための適切な方法としての妥当性について懸念が生じます。

サブプロセス: 優れたソリューション

os.system() の代わりに、 subprocess モジュールは、Popen クラスの形式でより適切なソリューションを提供します。このクラスにより、長時間実行されるコマンドを非同期にシームレスに実行できるようになり、外部コマンドがタスクを実行している間も Python スクリプトが操作を継続できるようになります。

実装

Popen の使用法については、次の例を考えてみましょう。

<code class="python">from subprocess import Popen

# Initiate the long-running 'watch ls' command
p = Popen(['watch', 'ls'])

# Continue executing the Python script while the command runs
# ...

# Terminate the subprocess when necessary
p.terminate()</code>
ログイン後にコピー

追加機能

非同期実行以外にも、Popen インスタンスは他のいくつかの機能を提供します。特に、poll() メソッドを通じて実行ステータスを監視できるようになります。さらに、communication() メソッドを利用して、stdin 経由でデータを交換し、プロセスの終了を待つこともできます。

以上がPython で非同期シェル コマンド実行を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!