パイプでフォークされた子プロセスと親プロセスの間で通信しようとしています。かなり最新のバージョンの python (以下のコード) で動作させることができました。これを Jython 2.1 で動作させるのに苦労しています (更新するオプションがありません)。
ここで誰かが私を正しい方向に向けることができますか?
#!/usr/bin/env python
import os
import time
import sys
print "starting"
r, w = os.pipe()
prcID = os.fork()
if prcID:
# PARENT PROCESS
# Set up write pipe
os.close(r)
w = os.fdopen(w,'w')
for i in range(5):
time.sleep(1)
print "- " + str(i) + " -"
print "Parent is about to write"
w.write("OMG!!!! IT WORKS!!!!!")
print "Parent is done writing"
w.close()
os.waitpid(prcID, 0)
print "Parent done Waiting!"
else:
# CHILD PROCESS
os.close(w)
r = os.fdopen(r)
strout = r.read()
print "Child read: " + strout
print "Child done"
sys.exit(0)
#END of PARENT
print "done"