Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでfork()を使用して子プロセスを作成する


私たちのタスクは、Pythonのfork()関数を使用して、子プロセスを作成し、親プロセスと子プロセスの両方のプロセスIDを表示することです。

fork()を使用すると、それ自体のコピーが作成されます。これは、LINUX、UNIXの非常に重要な側面です。 fork()は主にマルチスレッド環境に適用できます。つまり、スレッドの実行が複製され、親スレッドから子スレッドが作成されます。エラーが発生した場合、メソッドは負の値を返し、子プロセスの場合は0を返します。それ以外の場合は、親プロセスにいることを意味する正の値を返します。

fork()モジュールは、osモジュールまたはptyと呼ばれる疑似端末モジュールから使用できます。したがって、osまたはptyをインポートする必要があります。

fork()はプロセスを作成するために使用され、引数はなく、プロセスIDを返します。 fork()を使用して、呼び出し元の子プロセスとなる新しいプロセスを作成する主な理由。新しい子プロセスが作成されると、両方のプロセスが次の命令を実行します。

fork()の戻り値は、0を返すと子プロセスにあることを意味し、正の値を返すと親プロセスにあることを意味し、負の値を返すとエラーが発生したことを意味します。

サンプルコード

import os
   def parentchild():
      n = os.fork()
   if n > 0:
      print("Parent process : ", os.getpid())
   else:
      print("Child proces : ", os.getpid())
# Driver code
parentchild()

出力

Parent process : 8023
Child process : 8024
$

疑似端末ユーティリティモジュールptyは、疑似端末の概念を処理するために定義されています。これを使用して、別のプロセスを開始したり、プログラムを使用して制御端末から読み取りまたは書き込みを行ったりすることができます。

このモジュールは高度なプラットフォーム指向です。これらの操作を実行するには、UNIXシステムを使用する必要があります。

サンプルコード

import pty, os
   def process_parent_child():
      (process_id, fd) = pty.fork()
   print("The Process ID for the Current process is: " + str(os.getpid()))
   print("The Process ID for the Child process is: " + str(process_id))
process_parent_child()

出力

The Process ID for the Current process is: 12508
The Process ID for the Child process is: 12509

  1. Pythonを使用しているWhatsapp?

    このセクションでは、Whatsappチャットボットを作成しますが、TwitterやFacebook用の他のいくつかのチャットボットとは異なり、whatsappのポリシーのため、whatsappチャットボットはプラットフォーム上で直接実行されません。 しかし、Pythonの非常にスマートなパッケージであるseleniumを使用して、開発者がブラウザのアクティビティを自動化できるようにする方法があります。これにより、ブラウザからwhatsapp-webを利用できます。 要件 物事を成し遂げるためには、3つの基本的なことが必要です。セレン。 ターミナルで以下のコマンドを実行するだけで、pipを

  2. PythonでのCX_Freezeの使用

    時々私たちは非常にエキサイティングな何か違うものを作りたいと感じます、そして人間の性質によれば、私たちはいつもそれを共有するのが大好きです。 Pythonもそれらの願いを満たします。 Pythonを使用して、Pythonプログラムを友人と共有したい場合は、それを行うことができます。必要なのは、マシンのプログラムで使用されるすべてのモジュールに同じバージョンのPythonをインストールすることだけです。 まず、 pip install CX_Frezzeを使用してCX_Freezeモジュールをインストールする必要があります コマンドプロンプトのコマンド。 最初のステップは、この割り当て、