在从bash翻译一些脚本时,我遇到了netstat -an的许多用法,以查找我们的某个服务是否在监听.虽然我知道我可以使用subprocess.call或其他甚至popen我宁愿使用pythonic解决方案,所以我没有利用我们正在运行的unix环境.
从我读到的插座模块应该有一些东西,但我还没有看到任何检查侦听端口.可能是我不理解一个简单的技巧,但到目前为止我知道如何连接到套接字,并写一些让我知道该连接失败的东西.但不一定我找到了专门检查端口的东西,看它是否正在收听.
有任何想法吗?
我有一个问题是由我们的封装设计引起的.到目前为止,我们的许多脚本都是用bash编写的,因此#!/bin/bash总是很简单.
但是现在我们在python中重写我们的脚本有点困难了.我们提供了特定版本的python(以避免客户端安装环境中的版本差异,从而破坏我们的实现).因为python的特定版本存在于已安装的目录结构中,所以我需要路由到它.
不过我不认为#!语句可以接受来自执行文件的shell的环境变量(尝试并得到一个糟糕的解释器).
例如:
在foo.py我有#!$dirloc/wherepythonlives/python
在bash shell中,我执行了文件并得到了错误的解释器.有没有办法将环境变量潜入该#!行?
或者我必须依赖明确的路径?我们希望在一个环境中支持我们软件的多个版本(可能意味着多个python版本),所以我希望以某种方式将Python !#语句保存在我们安装的目录级别中.