Способ №3. Visual C++
О распространяемом пакете Visual C++ в контексте рассматриваемой проблемы можно скачать то же самое, что и о библиотеках DirectX.
Возможно, какие-то файлы были повреждены или версия устарела.
Бывают в данном случае и другие ситуации, когда установленная C++ попросту не подходит для вашей операционной системы.
Ниже приведена таблица с вариантами, которые подходят для разных версий ОС.
Операционная система | Требуемая Visual C++ |
---|---|
Windows XP и ниже | C++2008 |
Windows 7 | C++2010 |
Windows 8 и 10 | Наиболее актуальная на данный момент |
Так вот, в зависимости от того, какая у вас ОС, вам следует скачать и инсталировать на свой компьютер C++2008 (64-бит, 32-бит), C++2010 (64-бит, 32-бит) или же C++2015 обновление 3.
Это наиболее актуальная версия по состоянию на июнь 2017 года. В будущем выйдут новые, поэтому следите за новостями на официальном сайте Microsoft.
Скачивание происходит одинаково – выбираем язык распространяемого компонента и жмем кнопку «Скачать». После этого останется запустить загруженный файл.
После этого перезагрузите компьютер.
Страница загрузки Visual C++
Nim[edit]
fcntl basededit
import os, posix let fn = getHomeDir() & "rosetta-code-lock" proc ooiUnlink {.noconv.} = discard unlink fn proc onlyOneInstance = var fl = TFlock(lType F_WRLCK.cshort, lWhence SEEK_SET.cshort) var fd = getFileHandle fn.open fmReadWrite if fcntl(fd, F_SETLK, addr fl) < stderr.writeLine "Another instance of this program is running" quit 1 addQuitProc ooiUnlink onlyOneInstance() for i in countdown(10, 1): echo i sleep 1000 echo "Fin!"
Unix Domain Socket basededit
import options, os from net import newSocket, bindUnix from nativesockets import AF_UNIX, SOCK_DGRAM, IPPROTO_IP from posix import EADDRINUSE const sockAddr = "\0com.myapp.sock" # Linux will delete this when the application ends # notice the prefixed null byte, it's the Linux abstract namespace proc server()= echo "Unique instance detected" proc client()= echo "Duplicate instance detected" when isMainModule var sock = newSocket(AF_UNIX, SOCK_DGRAM, IPPROTO_IP) isUnique Optionbool try sock.bindUnix(sock_addr) is_unique = some true except OSError if cint(osLastError()) == EADDRINUSE isUnique = some false else raise getCurrentException() if unlikely is_unique.isNone echo "Error detecting uniqueness" # unreachable else if isUnique.unsafeGet(): server() else client()
Перевод you can only run one instance at a time
Left 4 Dead 2
Hi all.I’m running l4d2 on desktop mac,running High Sierra 10.13.1.
When I attempt to run l4d2 I get the error message:
Source — WarningOnly one instance of the game can be running at one time.
I killed Steam and rebooted the Mac.After restarting I attempt to run the game again and get the same message.
If I open a process manager I can’t see any processes that have a name that might indicate a relationship to l4d2 or halflife.
What could be happening here?How can I get the darn gaming running?
So today I tried uninstalling and reinstalling this product.
After the re-install I get the same thing: the dialogue saying «only one instance. «
This product sucks.
I think the problem is that you are trying to run it on a mac..
It worked fine on the mac for a few months.The issue appeared suddenly.
If this is an issue with mac compatibility then the game definitely shouldn’t be advertised as working on mac.
Update: I uninstalled l4d2 from my system again. This time I searched my file system for all traces of it, and deleted folers manually.
Then I re-installed the game.
After re-install, I attempted to run the game again. After all that I *still* get the error.
This must be a bug.
buy de windows . the macs are not for to play
If you run the mac equivalent of ps ax and grep for anything named left4dead2 or similar is there anything else showing up?
If you run the mac equivalent of ps ax and grep for anything named left4dead2 or similar is there anything else showing up?
If you run the mac equivalent of ps ax and grep for anything named left4dead2 or similar is there anything else showing up?
First of all, don’t blame the product, blame the user and hardware you using, you can’t complain about the game running at all or running good in Linux or MacOS since wasn’t never aimed for those platforms, was just adjust so those 2 platforms could be apart of Valve’s games, now going to try to fix you problem.
1) Shutdown the PC and Turn on.2) Open Steam.3) Attemp to run the game.If game give you the «Only one instance of the game can be running at one time.»Press these key «Command + Spacebar» and search for «Activity Monitor» and press the return/enter key. Check for any instances of something within «l4d» or «Left 4 Dead».
If none of that works or appears. I’m sorry please try to contact Apple for any intel on this case and steam support.
And since i sounded «» around Macs, no I dont hate it, i do own one myself and a linux partition, i recommend to anyone who wants to play games invest on a Windows as a OS.
D[edit]
Unix Domain Socketedit
Unix domain sockets support another addressing mode, via the so-called abstract namespace. This allows us to bind sockets to names rather than to files. What we get are the following benefits (see page 1175 in The Linux Programming Interface):
- There is no need to worry about possible collisions with existing files in the filesystem.
- There is no socket file to be removed upon program termination.
- We do not need to create a file for the socket at all. This obviates target directory existence, permissions checks, and reduces filesystem clutter. Also, it works in chrooted environments.
boolis_unique_instance() { importstd.socket; autosocket=newSocket(AddressFamily.UNIX,SocketType.STREAM); autoaddr=newUnixAddress("\0/tmp/myapp.uniqueness.sock"); try { socket.bind(addr); returntrue; } catch(SocketOSExceptione) { importcore.stdc.errnoEADDRINUSE; if(e.errorCode==EADDRINUSE) returnfalse; else throwe; } }
Jsish[edit]
Using a socket on a fixed port number.
/* Determine if only one instance, in Jsish */ var sock; try { sock = new Socket({clientfalse, port54321}); puts('\nApplication running for 30 seconds, from', strftime()); update(30000); puts('\nApplication ended at', strftime()); } catch (err) { puts('Applicaion already running'); exit(1); }
- Output:
prompt$ jsish oneInstance.jsi & 2003 prompt$ Application running for 30 seconds, from 2019-06-14 11:19:37 prompt$ jsish oneInstance.jsi Applicaion already running prompt$ jsish oneInstance.jsi Applicaion already running prompt$ Application ended at 2019-06-14 11:20:06 + Done jsish oneInstance.jsi
Installation Requirements
An internet connection is required to download a manifest containing metadata for the latest MySQL products that are not part of a full bundle. MySQL Installer attempts to download the manifest when you start the application for the first time and then periodically in configurable intervals (see MySQL Installer options). Alternatively, you can retrieve an updated manifest manually by clicking Catalog in the MySQL Installer dashboard.
If the first-time or subsequent manifest download is unsuccessful, an error is logged and you may have limited access to MySQL products during your session. MySQL Installer attempts to download the manifest with each startup until the initial manifest structure is updated. For help finding a product, see Locating Products to Install.
Решение ошибки «Runtime error»
Решение №1 Ликвидация кириллицы
Ошибка «Runtime error» может возникать при запуске тех программ и игр, в расположении которых присутствуют кириллические символы. Например, на данную ошибку можно наткнуться, если запускаемое приложение находится по пути C:\Users\\Downloads\\. Избавьтесь от русского языка по пути к приложению и попробуйте запустить его еще раз.
Решение №2 Изменение языка программ, не поддерживающих Юникод
Появление ошибки «Runtime error» возможно в том случае, если в параметрах региональных стандартов для приложений, не поддерживающих Юникод, задан русский, а не английский язык.
- Нажмите WIN+R и выполните значение «CONTROL»;
- кликните на пункт «Изменение форматов даты, времени и чисел» в разделе «Часы и регион»;
- перейдите во вкладку «Дополнительно» в появившемся окошке «Регион»;
- нажмите на кнопку «Изменить язык системы…»;
- в ниспадающем меню выберите «Английский (США)» и сохраните внесенные изменения;
- перезагрузите ПК.
Запустите проблемное приложение, чтобы проверить наличие ошибки.
Решение №3 Переустановка Visual Studio C++ и .NET Framework
Некорректно установленные (либо отсутствующие в системе) распространяемые библиотеки Microsoft Visual Studio C++ и .NET Framework могут вызвать появление «Runtime error». Чтобы переустановить эти библиотеки, вам нужно сделать следующее:
- вызовите перед собой Панель управления, как это было показано выше;
- кликните на «Удаление программы» в разделе «Программы»;
- найдите в списке программ все версии Visual Studio C++ и удалите их;
- проделайте тоже самое с различными версиями .NET Framework на своем ПК;
- вернитесь к окошку «Программы и компоненты» и кликните на пункт «Включение или отключение компонентов Windows»;
- убедитесь, что возле всех версий .NET Framework стоят галочки;
- закройте все открытые окна и перезагрузите ПК.
Решение №5 Восстановление системных файлов
Поврежденные системные файлы — потенциальная причина за появлением ошибки «Runtime error». Благо, в Windows присутствует специальная утилита, задача которой — это восстановление системных файлов. Чтобы пустить эту утилиту в работу, вам нужно сделать на своем ПК следующее:
- кликните ПКМ на меню Пуск и выберите пункт «Командная строка (администратор)» (PowerShell тоже подойдет);
- пропишите в консоли команду «SFC /SCANNOW» и нажмите ENTER;
- дождитесь окончания сканирования и восстановления системных файлов;
- перезагрузите компьютер.
Ошибка «Runtime error» практически наверняка исчезнет с вашего ПК, особенно если SFC удалось найти и восстановить поврежденные системные файлы.
Only one instance of mysql installer for windows can be run at a time
MySQL Installer is a standalone application designed to ease the complexity of installing and configuring MySQL products that run on Microsoft Windows. It supports the following MySQL products:
MySQL Installer can install and manage multiple, separate MySQL server instances on the same host at the same time. For example, MySQL Installer can install, configure, and upgrade a separate instance of MySQL 5.6, MySQL 5.7, and MySQL 8.0 on the same host. MySQL Installer does not permit server upgrades between major and minor version numbers, but does permit upgrades within a release series (such as 8.0.21 to 8.0.22).
MySQL Installer cannot install both Community and Commercial releases of MySQL server on the same host. If you require both releases on the same host, consider using the ZIP archive distribution to install one of the releases.
MySQL Workbench, MySQL Shell, MySQL Router, and MySQL for Visual Studio.
MySQL Connector/NET, MySQL Connector/Python, MySQL Connector/ODBC, MySQL Connector/J, and MySQL Connector/C++. To install MySQL Connector/Node.js, see https://dev.mysql.com/downloads/connector/nodejs/.
Documentation and Samples
MySQL Reference Manuals (by version) in PDF format and MySQL database samples (by version).
Installation Requirements
An internet connection is required to download a manifest containing metadata for the latest MySQL products that are not part of a full bundle. MySQL Installer attempts to download the manifest when you start the application for the first time and then periodically in configurable intervals (see MySQL Installer options). Alternatively, you can retrieve an updated manifest manually by clicking Catalog in the MySQL Installer dashboard.
If the first-time or subsequent manifest download is unsuccessful, an error is logged and you may have limited access to MySQL products during your session. MySQL Installer attempts to download the manifest with each startup until the initial manifest structure is updated. For help finding a product, see Locating Products to Install.
MySQL Installer Community Release
Download software from https://dev.mysql.com/downloads/installer/ to install the Community release of all MySQL products for Windows. Select one of the following MySQL Installer package options:
MySQL Installer Commercial Release
Download software from https://edelivery.oracle.com/ to install the Commercial release (Standard or Enterprise Edition) of MySQL products for Windows. If you are logged in to your My Oracle Support (MOS) account, the Commercial release includes all of the current and previous GA versions available in the Community release, but it excludes development-milestone versions. When you are not logged in, you see only the list of bundled products that you downloaded already.
The Commercial release also includes the following products:
MySQL Enterprise Backup
MySQL Enterprise Firewall
The Commercial release integrates with your MOS account. For knowledge-base content and patches, see My Oracle Support.
System Requirements Lab analyzes your computer in just seconds, and it’s FREE.
See for yourself, takes less than a minute. The question of Can I run a PC game has been answered here hundreds of millions of times since 2005. Find out now if your computer can run any popular PC game.
1)
2)
Can You Run It?
Can You Run It? Most popular PC Game Requirements
System Requirement Labs has tracked over 8,500 of the latest PC game requirements. Check out individual games pages to answer the most important question: CAN I RUN IT? These are the most popular games in the last 30 days.
last 30 days
Percentage passed
Overwatch 2
109,243
57%
Grand Theft Auto V
98,896
54%
Call of Duty: Modern Warfare II
97,281
63%
Cyberpunk 2077
81,620
55%
VALORANT
63,569
78%
Call of Duty: Warzone
57,346
35%
FIFA 23
56,981
28%
Red Dead Redemption 2
55,712
42%
Elden Ring
51,902
29%
God of War
42,245
45%
Fortnite
41,974
71%
Minecraft
36,666
70%
Marvel’s Spider-Man Remastered
35,609
51%
The Sims 4
35,427
82%
League of Legends
29,741
68%
Counter-Strike: Global Offensive
26,154
57%
Genshin Impact
25,786
34%
Forza Horizon 5
23,918
40%
Apex Legends
20,494
54%
The Witcher 3: Wild Hunt
19,764
49%
Assassin’s Creed Valhalla
18,745
55%
PLAYERUNKNOWN’S BATTLEGROUNDS
14,508
35%
FIFA 22
14,463
40%
Phasmophobia
14,456
28%
Far Cry 6
14,183
56%
Battlefield 2042
11,985
48%
Dying Light 2 Stay Human
10,793
49%
Check out the full list of PC Games
MySQL Installer Commercial Release
Download software from https://edelivery.oracle.com/ to install the Commercial release (Standard or Enterprise Edition) of MySQL products for Windows. If you are logged in to your My Oracle Support (MOS) account, the Commercial release includes all of the current and previous GA versions available in the Community release, but it excludes development-milestone versions. When you are not logged in, you see only the list of bundled products that you downloaded already.
The Commercial release also includes the following products:
MySQL Enterprise Backup
MySQL Enterprise Firewall
The Commercial release integrates with your MOS account. For knowledge-base content and patches, see My Oracle Support.
How to fix Only one instance of Wusa.exe is allowed to run error?
1. Windows Installer check-up
If you’re getting Only one instance of wusa.exe is allowed to run error, you need to check if Windows Installer service is running or not.
- Click Start, type services.msc and press Enter.
- Double-click Windows Installer.
- Set the Startup type of your Windows Installer to Manual.
- Click Start to start the service.
- Click OK.
2. View your Event Log
If you’re getting Only one instance of wusa.exe is allowed to run error, you might be able to find the cause by visiting the Event Log. To do that, follow these steps:
- Select your Search box, and then click Event Viewer in the Programs list.
- In Event Viewer, expand your Windows Logs, and then click Setup.
- In the Actions sections, click Filter Current Log.
- In the Event sources list, click to select the wusa check box, and then click OK.
- Now you can switch between instances of wusa and identify the cause of the problem.
3.Run Task Manager
You can also fix Only one instance of wusa.exe is allowed to run error by using Task Manager. Follow these steps:
- Start Task Manager.
- Go to start task.
- Start wusa.exe.
- When wusa.exe is running, go into the Task Manager, simply end the process tree for any process under the name wusa.exe.
- Close the Task Manager.
4. Re-register Windows Installer
Another way to fix Only one instance of wusa.exe is allowed to run error is to re-register Windows Installer. To do that, follow these steps:
- Click Start, and type %windir%system32msiexec /unregserver in the Start Search box, and then press Enter.
- Type %windir%system32msiexec /regserver , and then press Enter.
- If you are prompted for an administrator password or for a confirmation, type your password.
5. Reinstall Windows Installer in Safe Mode
Just boot your machine into Safe Mode, from the Advanced startup options. And now try to run the update. Remember that wusa.exe enables the appropriate function in the Windows Update Agent according to the mode in which you start wusa.exe.
Tip
In the event that this issue persists, you may want to reset the Windows Update Components and see if that solves the issue. When running an update, make sure to momentarily disable any anti-virus software running in the background, for it may be interfering with your connection.
We hope that these fixes were able to help you fix the Only one instance of wusa.exe is allowed to run error. In the meantime, let us know what other types of errors have you stumbled upon recently.
RELATED STORIES TO CHECK OUT:
- How to fix Windows 10 Update & Security tab not working
- Fix Error 0xa00f4246 on Windows 10 for good with these solutions
- Install the latest Surface updates to fix driver issues
Was this page helpful?
MyWOT
Trustpilot
Thank you!
Not enough details
Hard to understand
Other
x
Contact an Expert
Start a conversation
12 Answers 12
I had the same issue. Try this, it should work!
Highlight the MySQL56 entry and click the delete button
You should start by checking the error log and/or the startup message log when managing the instance using MySQL Workbench. There could be clues as to what is going wrong, which may be different than this scenario.
When I had this issue, it was because I used a space in the service name during installation. While it is technically valid, you should not do that. It seems that the MySQL Installer (and MySQL Notifier) does not put the name in quotes which causes it to use an incorrect service name later on. There are two ways to fix the problem (all commands should be run from an elevated command prompt).
How To
How to ensure only one instance of application runs at once? by Glenn9999 Posted: 14 Nov 15 |
This is a unit that is included in the main project source which handles any run-once chores. Optionally, it will also link code into the Application instance which will bring up the program if another copy of it is run.
CODEunit runonce; { This is run once code by Glenn9999, as suggested by http://delphi.about.com/od/windowsshellapi/l/aa100703b.htm The idea behind this code is to try to make a single unit solution that can handle any "run once" chores, including making the original program come to the forefront if a copy of it is run. It is meant to be included only *once* in the main project source. Sample usage: RunOnlyOnce('RunOnceDemo'); // must be at the very first. Application.Initialize; Application.CreateForm(TForm1, Form1); // optionally, this call can be included to bring up the form. If used, it must // appear before Application.Run. RegisterBringUpForm(Application); Application.Run; } interface uses windows, forms; type TAppMessageClass = class(TObject) private FApplication: TApplication; // store it upon register so AppMessage can use it public procedure AppMessage(var Msg: TMsg; var Handled: Boolean); end; var FSemaPhore: THandle; MyMsg: Cardinal; MyEvents: TAppMessageClass; OldMessageEvent: TMessageEvent; procedure RunOnlyOnce(tagID: String); procedure RegisterBringUpForm(Application: TApplication); implementation procedure RunOnlyOnce(tagID: AnsiString); // this contains code which has a scheme which reveals whether the program has // been run previously. Detection is done based on the specific tagID passed // the routine, which should be uniquely defined within the program. begin MyMsg := RegisterWindowMessage(PAnsiChar(tagID)); FSemaPhore := CreateMutex(nil, True, PAnsiChar(tagID)); if ((FSemaPhore = 0) or (GetLastError = ERROR_ALREADY_EXISTS)) then begin // another copy of this program is running somewhere. Broadcast my message // to other windows and shut down. PostMessage(HWND_BROADCAST, MyMsg, 0, 0); CloseHandle(FSemaPhore); ExitProcess(0); end; end; procedure RegisterBringUpForm(Application: TApplication); // this links code into the Application instance which will cause the program // to bring up its main form when it receives the message to do so in "RunOnlyOnce" begin MyEvents.FApplication := Application; // save old message event. OldMessageEvent := Application.OnMessage; // set message event to ours. Application.OnMessage := MyEvents.AppMessage; end; procedure TAppMessageClass.AppMessage(var Msg: TMsg; var Handled: Boolean); begin // run old message event if one was present. if Assigned(OldMessageEvent) then OldMessageEvent(Msg, Handled); // message handler: If it's my message, then bring the window up. if Msg.Message = MyMsg then begin FApplication.Restore; SetForeGroundWindow(FApplication.MainForm.Handle); Handled := true; end; end; initialization MyEvents := TAppMessageClass.Create; finalization MyEvents.Free; if FSemaPhore <> 0 then CloseHandle(FSemaPhore); end. |
Back to Embarcadero: Delphi FAQ IndexBack to Embarcadero: Delphi Forum |
Chapter 1 MySQL Installer for Windows
MySQL Installer is a standalone application designed to ease the complexity of installing and configuring MySQL products that run on Microsoft Windows. It supports the following MySQL products:
MySQL Installer can install and manage multiple, separate MySQL server instances on the same host at the same time. For example, MySQL Installer can install, configure, and upgrade a separate instance of MySQL 5.6, MySQL 5.7, and MySQL 8.0 on the same host. MySQL Installer does not permit server upgrades between major and minor version numbers, but does permit upgrades within a release series (such as 8.0.21 to 8.0.22).
MySQL Installer cannot install both Community and Commercial releases of MySQL server on the same host. If you require both releases on the same host, consider using the ZIP archive distribution to install one of the releases.
MySQL Workbench, MySQL Shell, MySQL Router, and MySQL for Visual Studio.
MySQL Connector/NET, MySQL Connector/Python, MySQL Connector/ODBC, MySQL Connector/J, and MySQL Connector/C++. To install MySQL Connector/Node.js, see https://dev.mysql.com/downloads/connector/nodejs/.
Documentation and Samples
MySQL Reference Manuals (by version) in PDF format and MySQL database samples (by version).
C#[edit]
Using a TCP Portedit
usingSystem; usingSystem.Net; usingSystem.Net.Sockets; classProgram{ staticvoidMain(string[]args){ try{ TcpListenerserver=newTcpListener(IPAddress.Any,12345); server.Start(); } catch(SocketExceptione){ if(e.SocketErrorCode==SocketError.AddressAlreadyInUse){ Console.Error.WriteLine("Already running."); } } } }
Using a mutexedit
// Use this class in your process to guard against multiple instances // // This is valid for C# running on Windows, but not for C# with Linux. // usingSystem; usingSystem.Threading; /// <summary> /// RunOnce should be instantiated in the calling processes main clause /// (preferably using a "using" clause) and then calling process /// should then check AlreadyRunning and do whatever is appropriate /// </summary> publicclassRunOnceIDisposable { publicRunOnce(stringname) { m_name=name; AlreadyRunning=false; boolcreated_new=false; m_mutex=newMutex(false,m_name,outcreated_new); AlreadyRunning=!created_new; } ~RunOnce() { DisposeImpl(false); } publicboolAlreadyRunning { get{returnm_already_running;} privateset{m_already_running=value;} } privatevoidDisposeImpl(boolis_disposing) { GC.SuppressFinalize(this); if(is_disposing) { m_mutex.Close(); } } #region IDisposable Members publicvoidDispose() { DisposeImpl(true); } #endregion privatestringm_name; privateboolm_already_running; privateMutexm_mutex; } classProgram { // Example code to use this staticvoidMain(string[]args) { using(RunOncero=newRunOnce("App Name")) { if(ro.AlreadyRunning) { Console.WriteLine("Already running"); return; } // Program logic } } }
Удалите процесс из Диспетчера задач
Первым и наиболее эффективным способом устранить ошибку «Another instance is already running» — это удаление процесса программы, которую вы запускаете, из Диспетчера задач. Выполните следующие действия:
- Нажмите на сочетание клавиш Ctrl+Shift+Escape;
- В открывшемся Диспетчере задач во вкладке «Процессы» найдите процесс, имя которого совпадает с именем запускаемой вами программы, во время работы которой вы получаете рассматриваемую ошибку;
- Кликните на данный процесс, после чего нажмите внизу на кнопку «Снять задачу»;
- Выполните данную процедуру для всех процессов, с именем запускаемой вами программы;
- Затем попробуйте запустить нужную программу. В большинстве случаев она запустится без каких-либо проблем.
Raku[edit]
(formerly Perl 6)
Works with: rakudo version 2018.03
An old-school Unix solution, none the worse for the wear:
my $name = $*PROGRAM-NAME; my $pid = $*PID; my $lockdir = "/tmp"; my $lockfile = "$lockdir/$name.pid"; my $lockpid = "$lockfile$pid"; my $havelock = False; END { unlink $lockfile if $havelock; try unlink $lockpid; } my $pidfile = open "$lockpid", :w orelse .die; $pidfile.say($pid); $pidfile.close; if try link($lockpid, $lockfile) { $havelock = True; } else { shell "kill -CONT `cat $lockfile` || rm $lockfile"; if try link($lockfile, $lockpid) { $havelock = True; } else { die "You can't run right now!"; } } note "Got lock!"; unlink $lockpid;
Do you meet or exceed the game’s system requirements? – How it works
This site provides a One-Click solution that looks at your computer’s hardware and
system software to determine whether or not your current system can run a product.
Each of your computer’s components is evaluated to see how well it meets the minimum
and recommended requirements for specific products. Recommendations are made on
how to update or upgrade each component which does not meet the listed requirements.
Sometimes, a simple, free software download is all that is needed. Sometimes you’ll
find that you need a different video card to fully experience what the game has
to offer.
For more information, see our FAQ
This best-selling technology is called «Instant Expert Analysis» and it is provided
by System Requirements Lab.
Java[edit]
import java.io.IOException; import java.net.InetAddress; import java.net.ServerSocket; import java.net.UnknownHostException; public class SingletonApp { private static final int PORT = 65000; // random large port number private static ServerSocket s; // static initializer static { try { s = new ServerSocket(PORT, 10, InetAddress.getLocalHost()); } catch (UnknownHostException e) { // shouldn't happen for localhost } catch (IOException e) { // port taken, so app is already running System.out.print("Application is already running,"); System.out.println(" so terminating this instance."); System.exit(); } } public static void main(String[] args) { System.out.print("OK, only this instance is running"); System.out.println(" but will terminate in 10 seconds."); try { Thread.sleep(10000); if (s != null && !s.isClosed()) s.close(); } catch (Exception e) { System.err.println(e); } } }