Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想从命令行运行一个程序的多个实例,我需要知道哪个是第一个启动的——我需要同步它们。我还需要知道后续实例不是第一个。目前我问运营商这是否是一审,但我宁愿不必这样做。
任何人都可以提出更好的方法来处理这种情况。
检测程序实例是否是第一个时刻通常使用互斥锁来完成。但是 Dart 没有内置任何同步方法。
另一种方法是在环回接口上使用网络端口。选择一个固定的端口,如果启动了实例,检查是否可以监听该端口。如果端口不可用,则另一个实例已在运行。
作为一个积极的副作用,您可以使用连接在应用程序的实例之间进行通信。