9

私はプロセスのstdin使用サブプロセスを次のpythonように取得できることを知っています:

import subprocess
f = subprocess.Popen('python example.py',stdin=subprocess.PIPE)
f.stdin.write('some thing')

しかし、プロセスに書き込みたいpidだけを知りたいのですが、stdin どうすればこれを行うことができますか?

4

1 に答える 1

11

に書くだけ/proc/PID/fd/1です:

import os.path
pid = os.getpid() # Replace your PID here - writing to your own process is boring
with open(os.path.join('/proc', str(pid), 'fd', '1'), 'a') as stdin:
  stdin.write('Hello there\n')
于 2012-09-07T07:49:05.230 に答える