StrongLoop Arc and slc are no longer under active development, and will soon be deprecated. Arc's features are being included in the IBM API Connect Developer Toolkit: Please use it instead.
Skip to end of metadata
Go to start of metadata

Use the slc ctl command to control Process Manager at runtime.  To control Process Manager remotely, use the --control (or -C) option to specify the URL where Process Manager is running.

For example, if you start Process Manager with this command:

Then you can control it with

where <command> is one of the sub-commands. See slc ctl command reference for details.


When you deploy an application to Process Manager, you give the deployed application instance a name, referred to as the service name and indicated in command arguments as <service>. By default, it is the name property from the application's package.json.

Process Manager also automatically generates an integer ID for each application it's managing. Typically, the IDs start with one (1) and are incremented with each application deployed; however, the value of ID is not guaranteed. Always determine it with slc ctl status once you've deployed an app.

A service becomes available over the network at http://hostname:port where:

  • hostname is the name of the host running Process Manager
  • port is 3000 + service ID.

For example, if Process Manager is running on, then service ID 1 is available at, service ID 2 at, and so on.

The following sub-commands apply to Process Manager itself:

  • info - display information on Process Manager.
  • ls - list services under management.
  • status (the default sub-command) - Display status information.

You can deploy multiple applications to one Process Manager and then use slc ctl to control and get information on the applications (or services) and also monitor individual worker processes for each application (service).

Sub-commands that apply to a specific service (application runtime instance):

  • create, remove - create and remove a service.
  • env-get, env-set, env-unset - view, set, and remove environment variables.
  • log-dump - Dump the log buffer to the console.
  • set-size  - Change cluster size of the service.
  • stop, soft-stop, restart, soft-restart - stop or restart a service.

Profiling commands that apply to a specific worker process:

Setting application port

Normally, PM makes applications available on a TCP port guaranteed to be different for each app, typically allocating sequential port numbers starting with 3000 as noted above.  To override this behavior and make an application available over a specific port, use this command:

$ slc ctl env-set <service> PORT=<n>
Where <service> is the service name or ID, and <n> is the port to use.   For example to make "my-app" available at port 7777:


Do not specify a port already in use. Doing so will cause the application to crash.