特定のpidを使用してPythonでプロセスを開くにはどうすればよいですか。プロセスPIDを設定したいという意味です。
編集:
プロセスで実行されたプロセスのPIDを確認したい(たとえば、クラスPopen
のメソッドを使用して)subprocess
PIDはOSによって提供されるため、サブプロセスに特定のPIDを使用することはできません。
サブプロセスのPIDを判別するには、サブプロセスにPIDを要求できます。
import subprocess
dateProc = subprocess.Popen([ 'date' ])
print dateProc.pid
現在のプロセスのPIDを知りたい場合は、を使用してos.getpid()
ください。
プロセス(Firefoxなど)のプロセスIDを知る必要がある場合は、次のコードが機能します(Linux環境の場合)。コードを実行する前に、環境にpsutilモジュールをインストールする必要があります。また、psutilをインストールするには、「easy_installpsutil」コマンドを使用します。
#!/usr/bin/python
import psutil
process = filter(lambda p: p.name == "firefox", psutil.process_iter())
for i in process:
print i.name,i.pid
(たとえば)'pythoh'プロセスのPIDを取得するには、少なくとも2行のコードが必要です。
import subprocess
pid = int(subprocess.Popen(['pgrep','python'],stdout=subprocess.PIPE).stdout.readline()[:-1])
その名前のプロセスが実行されていない可能性がある場合は、try-except句を追加します。
'python'プロセスが多数ある場合は、''が返されるまで読み取り行を繰り返します。
sudo apt-getinstallpgrepも必要になる場合があります。
LinuxでPIDを設定することはできません==>プロセスIDを変更する