Background processes with no interface

scmd: communication between GUI modules

The scmd process should always be running when any of the GUI modules is active. You should have one scmd process (per user, if you are working with multiple users). The scmd process has no window, it should normally be invisible to the user.

The purpose of the scmd process is to handle all communication between GUI modules. For example, if you use the SCM menu to start a GUI module, that command is actually handled by the scmd process. It will figure out if a new module needs to be started, or if an already open module with that particular job should be activated.

Starting jobs, and handling the local Sequential queue is also done by scmd.

Communication between the GUI modules and scmd is done using TCP/IP within the local machine. If such communications are blocked, for example by a firewall, this will make the GUI non-functional! So in case of trouble, make sure you are not blocking TCP/IP traffic within the local machine. The GUI will never accept any TCP/IP connection from outside, only from within the local machine.

scmjobd: monitor running jobs

The scmjobd processes are also faceless background processes that belong to the GUI. They are started and terminated as needed, normally one per queued or running job. Their task is to monitor the progress of jobs, updating the status if it changes, getting logfile results for remote jobs, and killing jobs (if you use the Kill command in AMSjobs). Even if all windows of the GUI are closed they may still continue to be present if you have queued or running jobs.

The scmjobd processes communicate with the other GUI components using TCP/IP, via the scmd process. To monitor remote jobs they will use ssh to connect to the remote machines.