【发布时间】:2014-09-04 19:52:18
【问题描述】:
我有一个在 linux 服务器上运行的 python 脚本 (myscript.py),如下所示:
python myscript.py
在我的脚本中,我使用的是系统调用,示例如下:
os.system("./myprogram.pl -x 5 > results.out")
每当有os.system 调用时,当我在服务器上运行 myscript.py 时,命令调用在服务器上可见。有没有办法隐藏所有命令调用,以便在程序中调用它们时不显示它们(myscript.py)? (这不是隐藏导致程序内命令调用的输出)
【问题讨论】:
-
那为什么需要呢?好奇的人想知道!
-
你可以覆盖 sys.__stdout__ 或其他类似的黑客,但我认为更好的解决方案是使用 subprocess 模块 - 甚至是像调用这样的库。
-
啊,我怀疑你的意思是 命令的标准输出 是可见的。我一度以为您想从操作系统进程列表中隐藏该进程。不清楚。
-
服务器被很多人使用,我想保持我的工作隐私,这包括我使用的工具。
-
@MartijnPieters - 实际上,我认为他确实想对进程命令行保密。