gpt4 book ai didi

java - 如何确保我的程序只能执行一个实例?

转载 作者:行者123 更新时间:2023-12-02 03:39:01 25 4
gpt4 key购买 nike

我希望我的程序(一个 Java 可执行文件 .jar)仅运行一次。我制作了一个程序,但现在我希望用户不能打开多个实例......感谢您的时间......

我检查了服务器/客户端解决方案和锁定文件,但我不太了解它们,我也尝试让它们在 NetBeans 中运行,但没有成功...

最佳答案

您可以使用套接字 - ServerSocket 只能监听尚未使用的端口。第一次启动成功在该端口上创建了一个 ServerSocket 实例 - 当该程序运行时,无法在该端口上成功创建其他 ServerSocket。

import java.io.IOException;
import java.net.ServerSocket;

public class OneInstance {

private static ServerSocket SERVER_SOCKET;

public static void main(String[] args) {
try {
SERVER_SOCKET = new ServerSocket(1334);
System.out.println("OK to continue running.");
System.out.println("Press any key to exit.");
System.in.read();
} catch (IOException x) {
System.out.println("Another instance already running... exit.");
}
}
}

关于java - 如何确保我的程序只能执行一个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1482474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com