Starting and Ending Profound.js Instances

On IBM i

Instances can be started using the STRTCPSVR and ENDTCPSVR commands. This requires that the question 'Control server instance using STRTCPSVR/ENDTCPSVR commands?' was answered with 'yes' when Profound.js was installed.

Instance Configuration File

Profound.js instance configuration files are created by the installer on the IFS at /profoundjs-base/INSTANCE_NAME/conf. Instance configuration files can have the following directives:

  • path - Specifies the path to the 'start.js' file in the Profound.js installation directory. This directive is set by the installer and does not normally need to be modified. However, it can be adjusted if the Profound.js installation directory is moved after installation.

  • autostart - Specifies whether or not the instance automatically starts when TCP/IP is started. The installer prompts the user for this setting and sets the directive, but it can be adjusted to change the setting after installation. Set to '1' to auto start. Set to '0' or remove the directive to disable auto start.

  • nodePath - Specifies the path to the Node.js binary/executable. This is used to select the desired version of Node.js.

  • ccsid - Specifies the CCSID to be used for the Profound.js server job and associated SQL server (QSQSRVR) jobs. This configuration is set at install time based on an interactive prompt. You should use the same value here that you use with your existing IBM i applications, to ensure correct character conversions. If this directive is not specified, then the value from the PROFOUNDJS user profile is used.

  • nodeArgs - This allows you to pass arguments to Node.js when starting your instances with STRTCPSVR command.
    Multiple arguments can be specified by separating them with a space on the same configuration line. Spaces within argument values are not supported at this time.

    This option is available on Profound.js version 4.8.0 and higher.


    e.g. To set the Node.js memory limit to 8GB: -

    nodeArgs=--max-old-space-size=8192



  • args - This allows you to pass arguments to Profound.js when starting your instances with STRTCPSVR command.
    Multiple arguments can be specified by separating them with a space on the same configuration line. Spaces within argument values are not supported at this time. 

    This option is available on Profound.js version 4.13.0 and higher.

  • env - This directive allows you to specify environment variables for the process, in the form of NAME=VALUE. The directive can be repeated to set multiple variables. Any spaces entered on the line will be included. For example:

    env=NODE_EXTRA_CA_CERTS=/path/to/certs
    env=ANOTHER_VAR=myValue

    This option is available on Profound.js 5.8.0 and higher.

  • logging - This directive can be set to zero (0) to disable the STRTCPSVR process manager's stdout/stderr logs. Starting in Profound.js 7.6.0, the Profound.js process will, by default, write its own stdout/stderr log files via the logging configuration option. In this case, you should set logging=0 to avoid duplicate log files.

    This option was added in Profound.js 7.6.0

Directives are specified one per line with an equal sign separating the directive name and value. Directive names are case-sensitive.

/profoundjs-base/instances/INSTANCE_NAME/conf
path=/profoundjs/start.js       
autostart=1                     
nodePath=/QOpenSys/pkgs/bin/node
ccsid=37
logging=0


Starting Instances

Profound.js instances can be set up at installation time to start automatically when TCP/IP is started.

To start all Profound.js instances, use this command:

STRTCPSVR SERVER(*PJS) INSTANCE(*ALL)


To start an individual Profound.js instance, use the following command:

STRTCPSVR SERVER(*PJS) INSTANCE(PROFOUNDJS)

If the instance name is something other than PROFOUNDJS, substitute the instance name for PROFOUNDJS in the above command.

Ending Instances

To end all instances:

ENDTCPSVR SERVER(*PJS) INSTANCE(*ALL)


To end an individual instance named PROFOUNDJS manually:

ENDTCPSVR SERVER(*PJS) INSTANCE(PROFOUNDJS)

On your local PC or another server

To start Profound.js on your local PC or a non-IBM i server using Node, or if you have opted not to control the instance using the STRTCPSVR/ENDTCPSVR commands, use the following command from your Profound.js installation directory:

node start.js

In a Unix shell or a command prompt window, you can use Ctrl-C keyboard shortcut to end the process. 

If running on Windows, see Allowing Connections in Windows Firewall