バックグラウンドでサブプロセスを実行する

dbishop

入力を受け取り、サーバー上の別のスクリプトを呼び出すコマンドにフォーマットしてから、サブプロセスを使用して実行するPythonスクリプトがあります。

import sys, subprocess

thingy = sys.argv[1]

command = 'usr/local/bin/otherscript.pl {0} &'.format(thingy)
command_list = command.split()
subprocess.call(command_list)

実行に時間がかかる&ため、最後に追加ますotherscript.pl。バックグラウンドで実行することを好みます。ただし、スクリプトはシェルに制御を戻さずに実行されているようであり、実行が終了してプロンプトに戻るまで待つ必要があります。subprocessスクリプトをバックグラウンドで完全に実行するために使用する別の方法はありますか?

John1024

&シェル機能です。で動作させたい場合はsubprocess、次のshell=Trueように指定する必要があります

subprocess.call(command, shell=True)

これにより、コマンドをバックグラウンドで実行できるようになります。

ノート:

  1. なのでshell=True、上記はcommandではなく、を使用しcommand_listます。

  2. を使用shell=Trueすると、シェルのすべての機能が有効になります。インクルードが信頼できるソースからのものでない限りcommandこれを行わないthingyでください。

より安全な代替手段

この代替手段では、コマンドをバックグラウンドで実行できますが、デフォルトを使用するため安全ですshell=False

p = subprocess.Popen(command_list)

このステートメントが実行された後、コマンドはバックグラウンドで実行されます。完了したことを確認したい場合は、を実行しp.wait()ます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

出力を返す前にバックグラウンドで実行されるPythonサブプロセス

分類Dev

Linuxでバックグラウンドでプロセスを実行する

分類Dev

Pythonのサブプロセスを実行してバックグラウンドのままにする方法

分類Dev

サブプロセスコマンドを実行して、バックグラウンドPythonでnodejsサーバーを起動する方法

分類Dev

symfonyでバックグラウンドプロセスを実行する方法

分類Dev

Pythonでバックグラウンドプロセスを実行する

分類Dev

arduinoでバックグラウンドプロセスを実行する

分類Dev

バックグラウンド python で GPIO プロセスを実行する

分類Dev

サブプロセスを使用してバックグラウンドでRFCOMMサーバーを実行する

分類Dev

バックグラウンドプロセスでsshスクリプトを実行する

分類Dev

xshellでscreenコマンドを使用してバックグラウンドプロセスを実行する

分類Dev

xshellでscreenコマンドを使用してバックグラウンドプロセスを実行する

分類Dev

PowerShellでバックグラウンドプロセスとしてMavenコマンドを実行する方法

分類Dev

フォアグラウンドプロセスの実行中にバックグラウンドで別のプロセスを生成する方法

分類Dev

SpringMVCフレームワークでバックグラウンドプロセスを実行する方法

分類Dev

Windows上のPHPでバックグラウンドプロセスを実行してpidを取得する

分類Dev

Pythonを使用してバックグラウンドで実行されるプロセスを作成します

分類Dev

gcloudsshを使用してバックグラウンドでプロセスを実行する方法

分類Dev

サブプロセスはバックグラウンドで実行され、出力を1行ずつファイルに書き込みます

分類Dev

バックグラウンドプロセスとしてACプログラムを実行する

分類Dev

PHPでバックグラウンドプロセスを永続的に実行する

分類Dev

Androidでバックグラウンドプロセスを繰り返し実行する方法

分類Dev

init、Perlに採用されずにバックグラウンドでプロセスを実行する

分類Dev

バックグラウンドプロセスとしてGoサーバーを実行し続ける

分類Dev

UbuntuサーバーのバックグラウンドでPythonプログラムを実行する方法

分類Dev

新しいバックグラウンドtmuxウィンドウでコマンドを実行し、プロセスが終了するのを待ちます

分類Dev

phpはバックグラウンドプロセスを実行します

分類Dev

PythonスクリプトをWindowsバックグラウンドプロセスとして実行する

分類Dev

プログラムをバックグラウンドで実行する

Related 関連記事

  1. 1

    出力を返す前にバックグラウンドで実行されるPythonサブプロセス

  2. 2

    Linuxでバックグラウンドでプロセスを実行する

  3. 3

    Pythonのサブプロセスを実行してバックグラウンドのままにする方法

  4. 4

    サブプロセスコマンドを実行して、バックグラウンドPythonでnodejsサーバーを起動する方法

  5. 5

    symfonyでバックグラウンドプロセスを実行する方法

  6. 6

    Pythonでバックグラウンドプロセスを実行する

  7. 7

    arduinoでバックグラウンドプロセスを実行する

  8. 8

    バックグラウンド python で GPIO プロセスを実行する

  9. 9

    サブプロセスを使用してバックグラウンドでRFCOMMサーバーを実行する

  10. 10

    バックグラウンドプロセスでsshスクリプトを実行する

  11. 11

    xshellでscreenコマンドを使用してバックグラウンドプロセスを実行する

  12. 12

    xshellでscreenコマンドを使用してバックグラウンドプロセスを実行する

  13. 13

    PowerShellでバックグラウンドプロセスとしてMavenコマンドを実行する方法

  14. 14

    フォアグラウンドプロセスの実行中にバックグラウンドで別のプロセスを生成する方法

  15. 15

    SpringMVCフレームワークでバックグラウンドプロセスを実行する方法

  16. 16

    Windows上のPHPでバックグラウンドプロセスを実行してpidを取得する

  17. 17

    Pythonを使用してバックグラウンドで実行されるプロセスを作成します

  18. 18

    gcloudsshを使用してバックグラウンドでプロセスを実行する方法

  19. 19

    サブプロセスはバックグラウンドで実行され、出力を1行ずつファイルに書き込みます

  20. 20

    バックグラウンドプロセスとしてACプログラムを実行する

  21. 21

    PHPでバックグラウンドプロセスを永続的に実行する

  22. 22

    Androidでバックグラウンドプロセスを繰り返し実行する方法

  23. 23

    init、Perlに採用されずにバックグラウンドでプロセスを実行する

  24. 24

    バックグラウンドプロセスとしてGoサーバーを実行し続ける

  25. 25

    UbuntuサーバーのバックグラウンドでPythonプログラムを実行する方法

  26. 26

    新しいバックグラウンドtmuxウィンドウでコマンドを実行し、プロセスが終了するのを待ちます

  27. 27

    phpはバックグラウンドプロセスを実行します

  28. 28

    PythonスクリプトをWindowsバックグラウンドプロセスとして実行する

  29. 29

    プログラムをバックグラウンドで実行する

ホットタグ

アーカイブ