【问题标题】:Check for duplicate application in Linux BAT检查 Linux BAT 中的重复应用程序
【发布时间】:2016-04-28 17:42:38
【问题描述】:

我正在尝试为 Linux 创建一个 .bat 文件:

  1. 检查应用程序的现有实例,然后
  2. 启动应用的初始实例或向前调用现有实例。

我目前有一个可以在一台 Linux 机器上运行的 .bat(如下),但它不能在其他机器上运行。

#!/bin/bash

pid=`ps axwww | grep filename | grep java | sed -e 's/^[ \t]*//' | cut -f1 -d " "`

if [ a$pid == "a" ]
then
    java -Djava.net.preferIPv4Stack=true -Dsun.java2d.opengl=true -jar filename.jar /home/user/Desktop/folder/config/FILENAMEConfig.properties
else
    wid=`xdotool search "FILENAME"`
    xdotool windowactivate $wid
fi

我的问题是,当我将此 .bat 复制到另一台机器时,它给了我错误:

默认搜索窗口名称、类和类名 XGetWindowProperty[_NET_WM_DESKTOP] 失败(代码=1)

我已尝试在第二台机器上手动输入新的 .bat 文件,但仍然失败。

非常感谢任何帮助。

【问题讨论】:

  • 标签batch-file 不适用于此处,因为这仅与 DOS/Windows 相关...

标签: linux bash pid xdotool


【解决方案1】:

试试:

wid=`xdotool search "FILENAME"`
xdotool windowactivate $wid

在:

xdotool search "FILENAME" windowactivate --sync

无论如何,有一个错误会影响某些发行版,请参阅https://code.google.com/archive/p/semicomplete/issues/66

【讨论】:

  • 谢谢,lamp76。在对其他机器进行了更多修补之后,它似乎与 Linux 相关(尚未确定)。我终于让我原来的 .bat 在另一台机器上工作。然后它在大约十次启动后停止工作 - 再次给了我“默认搜索......”错误。我重新启动机器后,它又开始工作了。
猜你喜欢
  • 1970-01-01
  • 2012-03-21
  • 2011-11-05
  • 1970-01-01
  • 2018-01-03
  • 1970-01-01
  • 1970-01-01
  • 2011-11-30
  • 1970-01-01
相关资源
最近更新 更多