Sponsored Content
Full Discussion: Python: popen problems
Top Forums Shell Programming and Scripting Python: popen problems Post 302121098 by ghostdog74 on Monday 11th of June 2007 09:05:02 PM
Old 06-11-2007
Quote:
Originally Posted by sendai
Hello I'm writing a web server in python(obelisk-http.sourceforge.net)
and I'm having a greeat problem with POST method it like that

When someone make a POST request to the server it must open the executable(perl/python/.exe/elf) and send to the STANDART in (stdin) the request and get the response.

when i send the request to stdin of any binarie(.exe or elf) works

but when i try to use a script it don't read the stdin I'm using a code like that

Code:
import os,sys
from subprocess import Popen,PIPE 

try:
    stdin, stdout = os.popen2("script.py")
except:
    exit(1)
stdin.write("Hello World!")
stdin.close()
print stdout.read()
stdout.close()


script.py:

Code:
print raw_input() #just read from stdin and send to stdout


ok, but it don't work :\

someone have an ideia?

Code:
try:
    stdin, stdout = os.popen2("python script.py")
except:
    exit(1)
stdin.write("Hello World!")
stdin.close()
print stdout.read()
stdout.close()

you are also not using the methods you imported from subprocess..I assume you are going to used them later?
thesubprocess s module in later Python version is meant to replace os.popen* and other older methods.
last point : its better to structure your script.py so that you can import them into your script, instead of calling them from the shell..an example of what i mean
script.py
Code:
def printstdin():
    return raw_input()

then from your main script, you do:
Code:
import script

then you can use printstdin().
 

10 More Discussions You Might Find Interesting

1. Programming

question about popen();

Hi The following is my program to test popen() routine. The purpose is to print some contents of the corrent directory. But in fact, the output is only one character 'a', which I believe is the first char of the file "a.out". So, can anybody tell me what is wrong about this program?... (2 Replies)
Discussion started by: dell9
2 Replies

2. Programming

query in popen

hai friends I have written a tcp chat server in c.. I have designed a cgi program in c to control it... When i try to start the server from the cgi program, it is not starting. Why is that ? I have even tried giving the root ownership for all the programs.. Still its not. I have used the... (1 Reply)
Discussion started by: collins
1 Replies

3. Programming

popen and tar, please HELP!

Hi there, I'm facing a problem running the tar command with the popen function. FILE* fp = popen("tar czf - textfile","r") // output this program should give the output to the stdout. I don't know if it is possible and which function like fprint() etc. should I use. I suppose that I... (4 Replies)
Discussion started by: stef83
4 Replies

4. Programming

using popen with background process

hi, how to work with a background process without a controlling terminal to make use of popen or system call ? when ever i use popen or system function call in foreground process, there is no problem with respect to that .. but when the same program is run as a background process without a... (7 Replies)
Discussion started by: matrixmadhan
7 Replies

5. Red Hat

Python Installation problems on Redhat Enterprise Linux.

Hi All, I have to upgrade python installed on my Redhat enterprise Linux 4. I downloaded the latest python package from python website but not able to install the new package as the make command itself goes on running for more than a day. Can some help me regarding this. Is ther any method to... (2 Replies)
Discussion started by: Praveen H
2 Replies

6. Programming

prolems with pipes and popen in c

Hi! I'm trying to write a c program. The child process must transmit to the parent a file name and the parent must count the lines from the file and return te result to the child. Here is what i've done. It doesn't stop running, I guess. I'm sorry if it's an ugly code, i'm new at this stuff,... (2 Replies)
Discussion started by: alina89
2 Replies

7. Shell Programming and Scripting

python: what's wrong with my subprocess.Popen

my script is #!/usr/bin/env python import datetime import subprocess import sys import os import signal from time import sleep def runForAWhile(cmd, secs=10): print("running %s" % cmd) timeout = datetime.timedelta(seconds=secs) print timeout proc = subprocess.Popen(cmd,... (0 Replies)
Discussion started by: yanglei_fage
0 Replies

8. Programming

question about popen in C

does popen print out the executed string result in stdout, or just evaluate it and not print the result? (30 Replies)
Discussion started by: omega666
30 Replies

9. Programming

Popen problem

Hello all, I am reading a huge zip file in POPEN process and then writting that to a normal file which of 2GB. Now the process is failing when I looked for the cause someother process comming in after I read my file and it is deleting the zip. But in theory the popen command should read the... (5 Replies)
Discussion started by: arunkumar_mca
5 Replies

10. Programming

Two problems with my python code

Hello everyone , I need your help to end my python code. I've this code in python : from ipywidgets import interact, Dropdown from ipywidgets import * from ipywidgets.embed import embed_minimal_html import pandas as pd import os import sys #################### Dropdown servers... (1 Reply)
Discussion started by: Tim2424
1 Replies
BBMESSAGE.CGI(8)					      System Manager's Manual						  BBMESSAGE.CGI(8)

NAME
bbmessage.cgi - CGI utility used for proxying Xymon data over HTTP SYNOPSIS
bbmessage.cgi DESCRIPTION
bbmessage.cgi(8) is the server-side utility receiving Xymon messages sent by the bb(1) utility over an HTTP transport. The bb utility nor- mally sends data over a dedicated TCP protocol, but it may use HTTP to go through proxies or through restrictive firewalls. In that case, the webserver must have this CGI utility installed, which takes care of receiving the message via HTTP, and forwards it to a local Xymon server through the normal Xymon transport. The CGI expects to be invoked from an HTTP "POST" request, with the POST-data being the status-message. bbmessage.cgi simply collects all of the POST data, and send it off as a message to the Xymon daemon running on IP 127.0.0.1. This destination IP currently cannot be changed. The CGI will return any output provided by the Xymon daemon back to the requestor as the response to the HTTP POST, so this allows for all normal Xymon commands to work. SECURITY
bbmesage.cgi will only send data to a Xymon server through the loopback interface, i.e. IP-address 127.0.0.1. Access to the CGI should be restricted through webserver access controls, since the CGI provides no authentication at all to validate incoming messages. If possible, consider using the bbproxy(8) utility instead for native proxying of Xymon data between networks. SEE ALSO
bb(1), bbproxy(8), xymon(7) Xymon Version 4.2.3: 4 Feb 2009 BBMESSAGE.CGI(8)
All times are GMT -4. The time now is 10:54 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy