是否有人知道一个程序,您可以通过管道传输路径和参数,首先检查程序是否正在运行,如果是,则将其置于前台而不是运行两次?
答案1
这种行为确实应该使用互斥锁内置到程序本身中。可以使用相当简单的看门狗程序来实现,但我不知道有预建的看门狗程序。您还需要注意,并非所有程序都能很好地运行,因此不能保证该方法适用于所有程序。
答案2
Firefox 几乎就是这样的——当您尝试启动另一个实例时,它会尝试从正在运行的实例打开一个新窗口。当您通过 ssh 连接到工作站并想运行新的 Firefox 而不是在(无法访问的)桌面上打开一个新窗口时,这特别令人讨厌。
这些检测技巧是在 Firefox 启动器脚本中完成的——执行哪个 Firefox并开始咀嚼。
哦,您也可以在 Stack Overflow 上询问。