我在 Linux 环境中运行一个用 tcl 编写的流程,该流程执行外部可执行文件。其中一个可执行文件在其运行期间创建新窗口,弹出几秒钟然后被销毁。这些窗口中提供的信息不是必需的,但是当流程在后台运行时,它们很烦人并且会干扰正常工作。使用 exec
调用可执行文件:
set cmd "exec $KITE(SI_Exe)/run_SI_01_fast_touchstone.sh $KITE(MCRroot) $KITE(SI_config_file_name) "
puts "Running $cmd "
eval $cmd
有没有办法抑制这些窗口的弹出,类似于将程序的输出定向到 /dev/null
的方式?
最佳答案
如果您使用的是 linux 系统,这意味着您很可能正在运行 X11。如果这是真的,并且它是一个足够现代的版本,您可以创建一个虚拟帧缓冲区 ( xvfb ),然后设置环境变量 DISPLAY 以将其用于显示。这在道德上等同于/dev/null。
关于linux - 抑制从 tcl 中的流中调用的可执行文件打开的新窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8820132/