2012-09-07 6 views
7

は、私は私が好きpythonにプロセスのstdin使用サブプロセスを取得することができます知っている:プロセスIDでプロセスの標準入力を取得するにはどうすればよいですか?

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

が、私は唯一の私は、プロセスのstdin 私はこれをどのように行うことが可能に書きたいのpidを知っているしたいですか?

+3

あなたが別のプロセスの標準入力をハイジャックしたいですか?これは非常に素晴らしいことではありません... –

+0

はい、私は他のプロセスの標準にsometingを書きたい – timger

+0

あなたはそれをしたいですか? – 0x90

答えて

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') 
関連する問題