linux - 抑制从 tcl 中的流中调用的可执行文件打开的新窗口

标签 linux shell exec tcl

我在 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/

相关文章:

PHP 脚本在 WAMP 上执行但不在 linux 服务器上执行

java - Linux javac 命令在类路径中的通配符上出错

bash - 在 bash 文件中收集并行进程的进程 ID

shell - 仅打印最后出现的重复行

c WEXITSTATUS() 以 255 退出

linux - 问题 : Decoding a file on linux machine from command line

C++ GMP 库 ostream operator<< 编译但不链接?

shell - 获取由符号链接(symbolic link)调用的 KornShell 脚本的 `dirname $0`

php - 从 PHP 调用时 python 导入失败

c - C 中多个 fork 中的 execl 同步/阻塞运行