
.. _status_cli:

status
******







.. rubric:: Output of :code:`--help=status`



The following help text is generated by :code:`ecflow_client --help=status`

::

   
   status
   ------
   
   Shows the status of a job associated with a task, in %ECF_JOB%.stat file
   If a family or suite is selected, will invoke status command hierarchically.
   Status uses the ECF_STATUS_CMD variable. After variable substitution it is invoked as a command.
   The command should be written in such a way that the output is written to %ECF_JOB%.stat
   This will allow the output of status command to be shown by the --file command
   i.e /home/ma/emos/bin/ecfstatus  %USER% %HOST% %ECF_RID% %ECF_JOB% > %ECF_JOB%.stat 2>&1::
   If the process id cannot be found on the remote system, then the status command can also
   arrange for the task to be aborted
   The status command can fail for the following reasons:
    - ECF_STATUS_CMD not found
    - variable substitution fails
    - state is active but it can't find process id, i.e. ECF_RID
    - the status command does not exit cleanly
   When this happens a flag is set, STATUSCMD_FAILED, which is visible in the GUI
   Usage::
      --status=/s1/f1/t1     # ECF_STATUS_CMD should output to %ECF_JOB%.stat
      --file=/s1/f1/t1 stat  # Return contents of %ECF_JOB%.stat file
   
   The client considers, for both user and child commands, the following environment variables:
   
     ECF_HOST <string> [mandatory*]
       The main server hostname; default value is 'localhost'
     ECF_PORT <int> [mandatory*]
       The main server port; default value is '3141'
     ECF_SSL <any> [optional*]
       Enable secure communication between client and server.
     ECF_HOSTFILE <string> [optional]
       File that lists alternate hosts to try, if connection to main host fails
     ECF_HOSTFILE_POLICY <string> [optional]
       The policy ('task' or 'all') to define which commands consider using alternate hosts.
   
   The options marked with (*) must be specified in order for the client to communicate
   with the server, either by setting the environment variables or by specifying the
   command line options.
   

