サブプロセスコマンドとしてのPythonプロシージャ(xonsh.proc
)¶
Pythonを実行するためのインタフェースは、サブプロセスモードのコマンドとして機能します。
ProcProxyクラスのいくつかのヘルパーメソッドのコードは、Python 3.4.2標準ライブラリのsubprocess.pyから修正されずに再現されています。subprocess.pyの内容(および再現された方法)はPeter Astrand < astrand @ lysatorの著作権(c)2003-2005 です。劉。SE >と貢献者契約の下でのPythonソフトウェア財団にライセンス供与されました。
-
class
xonsh.proc.
BufferedFDParallelReader
(fd、buffer = None、chunksize = 1024 )[ソース] ¶ バッファ付き並列バックグラウンドスレッドリーダー。
パラメーター: - fd : int
読み込み元のファイル記述子。
- バッファ : バイナリファイルのようなものか、またはオプションのもの、オプション
バイトを書き込むバッファ。Noneの場合、新しいBytesIOオブジェクトが作成されます。
- chunksize : int、オプション
並列読み取りの最大サイズ。デフォルトは1 KBです。
-
class
xonsh.proc.
CommandPipeline
(specs )[ソース] ¶ サブプロセスモードのコマンドパイプラインを表します。
パラメーター: - specs : SubprocSpecのリスト
プロセス仕様
属性: - 仕様 : SubprocSpec
スペックの最後の仕様
- proc : Popenのような
procsのプロセス
- 終了 : ブール
コマンドが実行を停止した場合のブール値。
- 入力 : str
標準入力の文字列。
output
: str出力へのノンブロッキング、遅延アクセス
- エラー : str
標準エラーの文字列。
- 行 : strのリスト
出力ライン
- starttime : 浮動小数点数またはNone
パイプラインの開始タイムスタンプ。
-
tee_stdout
()[ソース] ¶ プロセスstdoutを出力変数に行単位で書き込み、各行を生成します。これは、繰り返し処理する行(バイト単位)をオプションで受け入れることができます。この場合、iterraw()は呼び出されません。
-
alias
¶ 使用されるプロセスのエイリアス。
-
args
¶ プロセスへの引数。
-
attrnames
= 'stdin'、 'stdout'、 'stderr'、 'pid'、 'returncode'、 'args'、 'alias'、 'stdin_redirect'、 'stdout_redirect'、 'stderr_redirect'、 'timestamps'、 'executed_cmd' '入力'、 '出力'、 'エラー')¶
-
err
¶ 文字列としてのエラーメッセージ。
-
executed_cmd
¶ 解決され実行されたコマンド。
-
inp
¶ argsから正規化された入力文字列を作成します。
-
nonblocking
=(<class '_io.BytesIO'>、<class 'xonsh.proc.NonBlockingFDReader'>、<class 'xonsh.proc.ConsoleParallelReader'>)¶
-
out
¶ strとしての出力値。
-
output
¶ 出力へのノンブロッキング、遅延アクセス
-
pid
¶ プロセス識別子。
-
returncode
¶ 戻りコードを処理し、コマンドが完了するまで待ちます。
-
rtn
¶ コードを返すエイリアス。
-
stderr
¶ プロセス標準エラー。
-
stderr_postfix
¶ Postfixはstderrの後にバイトとして出力します。
-
stderr_prefix
¶ stderrの前にバイトとして印刷する接頭辞。
-
stderr_redirect
¶ stderrにリダイレクトが使用されました。
-
stdin
¶ プロセススタンダード。
-
stdin_redirect
¶ stdinに使用されるリダイレクト。
-
stdout
¶ stdoutを処理します。
-
stdout_redirect
¶ リダイレクションはstdoutに使用されます。
-
timestamps
¶ 開始時刻と終了時刻のスタンプ。
-
class
xonsh.proc.
ConsoleParallelReader
(fd、buffer = None、chunksize = 1024、timeout = None )[ソース] ¶ バックグラウンドスレッドで実行されるコンソール用の並列リーダー。これは、Windows上でのみ必要で、利用可能で、便利です。
パラメーター: - fd : int
標準バッファファイル記述子、stdinは0、stdoutは1(デフォルト)、stderrは2です。
- バッファ : ctypes.c_wchar_p、オプション
(再)使用するための既存のバッファ。
- chunksize : int、オプション
並列読み取りの最大サイズ。デフォルトは1 KBです。
- タイムアウト : オプション、float
キューの読み取りタイムアウト
-
class
xonsh.proc.
FileThreadDispatcher
(デフォルト= None )[ソース] ¶ 現在のスレッドに応じて異なるファイルハンドルにディスパッチします。ファイル操作を別のスレッドの別の場所に移動する場合に便利です。
パラメーター: - デフォルト : file-likeまたはNone、オプション
スレッドがレジストリ内に見つからない場合に書き込むファイルハンドル。Noneの場合、新しいインメモリインスタンス。
属性: - レジストリ : dict
スレッドIDをファイルハンドルにマッピングします。
-
available
¶ スレッドがレジストリで使用可能な場合はtrue。
-
buffer
¶ このスレッドのハンドルのバッファを取得します。
-
closed
¶ スレッドのハンドルが閉じていますか?
-
encoding
¶ このスレッドのハンドルのエンコーディングを取得します。
-
errors
¶ このスレッドのハンドルのエラーを取得します。
-
handle
¶ スレッドの現在のハンドルを取得します。
-
line_buffering
¶ このスレッドのハンドルの行バッファリングが有効かどうかを取得します。
-
newlines
¶ このスレッドのハンドルの改行を取得します。
-
class
xonsh.proc.
HiddenCommandPipeline
(specs )[ソース] ¶ パラメーター: - specs : SubprocSpecのリスト
プロセス仕様
属性: - 仕様 : SubprocSpec
スペックの最後の仕様
- proc : Popenのような
procsのプロセス
- 終了 : ブール
コマンドが実行を停止した場合のブール値。
- 入力 : str
標準入力の文字列。
output
: str出力へのノンブロッキング、遅延アクセス
- エラー : str
標準エラーの文字列。
- 行 : strのリスト
出力ライン
- starttime : 浮動小数点数またはNone
パイプラインの開始タイムスタンプ。
-
class
xonsh.proc.
NonBlockingFDReader
(fd、timeout = None )[ソース] ¶ バックグラウンドスレッド上のファイル記述子から文字を読み込むためのクラス。これには、呼び出しスレッドがファイルを閉じることができ、読み取りが呼び出しスレッドをブロックしないという利点があります。
パラメーター: - fd : int
ファイル記述子
- タイムアウト : floatまたはNone、オプション
キューの読み取りタイムアウト
-
class
xonsh.proc.
PopenThread
(* args、stdin = None、stdout = None、stderr =なし、** kwargs )[ソース] ¶ サブプロセスの実行と管理のためのスレッド。これにより、stdin、stdout、およびstderrストリームを非ブロック的な方法で読み取ることができます。
これは通常のPopenと同じ引数とキーワード引数をとります。これには、capture_stdoutおよびcaptured_stderr属性をインスタンス化の後に設定する必要があります。
-
run
()[ソース] ¶ stdinが許可されていればパラレルリードを実行し、captured_stdoutからstdoutに、bytesをcaptured_stderrからstderrにコピーすることで、サブプロセスを実行します。
-
wait
(タイムアウト=なし)[ソース] ¶ Popen.wait()にディスパッチするだけでなく、このスレッドに参加して元のウィンドウサイズシグナルハンドラを置き換えるなどのプロセスクリーンアップも行います。
-
returncode
¶ 戻りコードを処理します。
-
signal
¶ プロセス信号、またはなし。
-
-
クラス
xonsh.proc.
PrevProcCloser
(パイプライン)[ソース] ¶ 前回のコマンド自体が読み込み不能なパイプラインのスレッドを処理します。これにより、パイプラインが前方に駆動され、デッドロックしないことが保証されます。
パラメーター: - パイプライン : CommandPipeline
prevを閉じるパイプライン。
-
class
xonsh.proc.
ProcProxy
(f、args、stdin = None、stdout = None、stderr = None、universal_newlines = False、env = None )[ソース] ¶ これは、呼び出し元の同じスレッド(通常はメインスレッド)でエイリアス関数を実行するプロセスプロキシクラスです。これにより、バックグラウンドスレッドでプロセスが実行されなくなりますが、デバッガおよびプロファイラツール(関数)は、デバッグしようとしているのと同じスレッド上で実行できます。
-
class
xonsh.proc.
ProcProxyThread
(f、args、stdin = None、stdout = None、stderr = None、universal_newlines = False、env = None )[ソース] ¶ サブプロセスモードコマンドとして実行される関数を表すクラス。
パラメーター: - f : 関数
実行される関数。
- args : list
コマンドラインで与えられた引数を含む(おそらく空の)リスト
- stdin : ファイルのような、オプションの
stdinを表すファイルのようなオブジェクト(ここから入力を読むことができます)。場合は標準入力が提供されていないか、それが明示的に設定されている場合は なし、その後のインスタンスio.StringIO空のファイルを表すが使用されています。
- stdout : ファイルのような、オプションの
stdoutを表すファイルのようなオブジェクト(通常の出力はここに書くことができます)。場合stdoutが提供されていないか、それが明示的に設定されている場合はなし、その後、sys.stdoutのが使用されています。
- stderr : ファイルのような、オプションの
stderrを表すファイルのようなオブジェクトです(エラー出力はここに書き込むことができます)。場合stderrが提供されていないか、それが明示的に設定されている場合はなし、そしてsys.stderrを持ちが使用されています。
- universal_newlines : bool、オプション
ユニバーサル改行を使用するかどうか。
- env : マッピング、オプション
環境マッピング。
-
class
xonsh.proc.
QueueReader
(fd、timeout = None )[ソース] ¶ キューから読み込むためのファイルのようなインターフェイスを提供します。
パラメーター: - fd : int
ファイル記述子
- タイムアウト : floatまたはNone、オプション
キューの読み取りタイムアウト
-
xonsh.proc.
parse_proxy_return
(r、stdout、stderr )[ソース] ¶ プロキシはさまざまな出力を返すことがあります。これはそれらを一般的に扱います。
パラメーター: - r : タプル、str、int、またはNone
プロキシ関数からの戻り値
- stdout : ファイルのような
現在の標準ストリーム
- stdout : ファイルのような
現在のstderrストリーム
戻り値: - cmd_result : int
プロキシの戻りコード
-
xonsh.proc.
pause_call_resume
(p、f、* args、** kwargs )[ソース] ¶ プロセスpの場合、残りのargsとkwargsで関数fを呼び出します。プロセスがシグナルを受け入れることができない場合、関数が呼び出されます。
パラメーター: - p : Popenオブジェクトなど
- f : コール可能
- args : 残りの引数
- kwargs : キーワードの引数
-
xonsh.proc.
populate_buffer
(reader、fd、buffer、chunksize )[ソース] ¶ ファイルディスクリプタからバイトを読み取り、バッファにコピーします。
読み込みは、pread()システムコールを使って並行して行われます。これはPOSIXシステムでのみ利用可能です。何らかの理由で読み込みに失敗した場合は、読み込み側は閉じているとフラグが立てられます。
-
xonsh.proc.
populate_console
(読者、fd、バッファ、chunksize、キュー、expandsize =なし)[ソース] ¶ ファイル記述子からバイトを読み取り、行をキューに入れます。読み込みはxonsh.winutils.read_console_output_character()を使用して並行して行われたため、Windowsでのみ使用できます。何らかの理由で読み込みに失敗した場合は、読み込み側は閉じているとフラグが立てられます。
-
xonsh.proc.
populate_fd_queue
(reader、fd、queue )[ソース] ¶ 1KBのデータをファイル記述子からキューに読み込みます。これが終了するか失敗すると、呼び出し元のリーダーオブジェクトがクローズされたものとしてフラグが立てられます。
-
xonsh.proc.
proxy_five
(f、args、stdin、stdout、stderr、spec、stack )[ソース] ¶ args、stdin、stdout、stderr、およびspecの4つのパラメータを取るプロキシ関数を呼び出します。
-
xonsh.proc.
proxy_four
(f、args、stdin、stdout、stderr、spec、stack )[ソース] ¶ args、stdin、stdout、およびstderrの4つのパラメータを取るプロキシ関数を呼び出します。
-
xonsh.proc.
proxy_three
(f、args、stdin、stdout、stderr、spec、stack )[ソース] ¶ args、stdin、stdoutの3つのパラメータをとるプロキシ関数を呼び出します。