从python服务器将输出发送回clien

2024-10-01 07:37:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在有一个小型java脚本服务器正常工作,它由以下人员调用:

<?php
  $handle = fsockopen("udp://78.129.148.16",12345);
  fwrite($handle,"vzctlrestart110");
  fclose($handle);
?>

在远程服务器上,下面的python服务器正在运行并执行命令

^{pr2}$

但是,当我想在浏览器的输出窗口中发送15秒后,我就可以很容易地在浏览器的输出窗口中发送数据了。在

我知道我问了很多,但是我正在创建一个PHP脚本,我对此有很大的了解,但是我的python知识却非常缺乏。在

谢谢, 艾希礼


Tags: 服务器脚本远程人员浏览器java执行命令udp
2条回答

可以,您可以读取命令的输出。为此,我建议使用Pythonsubprocess模块。然后你就可以s.write()它回来。在

当然,这有一些暗示,您可能不得不让PHP脚本运行一段时间,因为进程可能运行得很慢。在

# The pipe behaves like a file object in Python.
process = Popen(cmd, shell=True, stdout=PIPE)
process_output = ""
while process.poll():
     process_output += process.stdout.read(256)
s.write(process_output)

# Better yet.
process = Popen(cmd, shell=true, stdout=PIPE)
stdout, stderr = process.communicate() # will read and wait for process to end.
s.write(stdout)

集成到您的代码中:

^{pr2}$

下面是一个如何获取命令输出的示例:

>>> import commands
>>> s =  commands.getoutput("ls *")
>>> s
'client.py'

相关问题 更多 >