-
Notifications
You must be signed in to change notification settings - Fork 449
ManagerImpl
Last updated 7/7/10
This is a proposed specification for launching the BOINC Client.
Contents of this document:
There are several ways to launch the BOINC Client:
- Automatically at system startup as a daemon / service (launched by system)
- Manually by the user
- Automatically by the BOINC Manager
The BOINC Manager can launch the Client either when the Manager itself is launched, or it can relaunch the Client when it detects that the Client has stopped running.
The default behavior of the BOINC Manager depends on the platform (OS):
When the Manager is launched, it launches the Client only if the Client was not already running.
If it detects that the Client has stopped running, it automatically relaunches the Client only if:
- the connected Client was on the same (local) computer, and
- the Client was originally launched by the Manager.
The location of the Client executable and the Client's data directory are read from the Windows System Registry. The information was written there by the BOINC installer.
When the Manager is launched, it launches the Client only if the Client was not already running.
If it detects that the Client has stopped running, it automatically relaunches the Client only if:
- the connected Client was on the same (local) computer.
On the Mac, the Manager can restart the Client even if it had been running as a service, so it restarts the local Client whether or not the Client was originally launched by the Manager.
The Client executable is embedded in the Manager's application bundle.
The Client's data directory is at the fixed path:
/Library/Application Support/BOINC Data/
Under Linux, the Client executable and data directories can be located anywhere. The executable maybe in the data directory or anywhere else. This limits the ability of the Manager to launch the Client.
When the Manager is launched, it launches the Client only if the Client was not already running.
By default, it assumes that the Client executable and its data are in the same directory as the Manager executable. If the Client executable is not in the expected directory, the attempt to launch the Client fails and an alert is displayed informing the user.
The default directories for launching the Client can be changed by passing command-line arguments to the Manager: The directory containing the Client executable can be specified by either
-e <path>
or
--clientdir=<path>
The BOINC data directory can be specified by either
-d <path>
or
--datadir=<path>
If clientdir is not specified, then the Client executable is assumed to be in the same directory as the Manager executable.
If datadir is not specified, then the data directory is assumed to be the same as the directory containing the Client executable.
If the Manager detects that the Client has stopped running, it automatically relaunches the Client only if it originally launched the Client successfully.