Driver CLI reference
The commands and flags of the synnax-driver program.
The service commands (install, uninstall, start without --standalone, stop,
restart, status, and logs) work only on Linux and NI Linux Real-Time. On Linux,
run them with sudo. On NI Linux Real-Time, log in as admin, which is root, and leave
out sudo in the commands below. On Windows and macOS, they fail with
running the driver as a daemon is not supported. There, run the Driver with
synnax-driver start --standalone, and stop it with Ctrl+C.
Each command accepts --debug for debug logs and --no-color for logs with no color.
install
Installs the Driver as a service.
sudo synnax-driver install- Linux -> creates the
synnaxsystem user, the environment file/etc/synnax/driver.env, and the systemd servicesynnax-driver. The service runs as thesynnaxuser.installdoes not start the service, and does not set it to start with the computer. To do that, runsudo systemctl enable synnax-driver. The service can use real-time priority and lock memory, andinstallwrites the udev rule/etc/udev/rules.d/99-synnax-driver-latency.rules, so that Arc automations at the High level can keep CPU cores awake. - NI Linux Real-Time -> creates the service
/etc/init.d/synnax-driver, which runs as root and starts with the controller.installdoes not start it, so runsynnax-driver start. The Driver writes its logs to/var/log/synnax-driver.log.
In both cases, install copies the binary to /usr/local/bin. When the service already
exists, install stops it and removes it first. On Linux, run systemctl enable and
start again after you install again.
login
Asks for the address of the Core, the username, and the password, and saves them in the state file.
sudo synnax-driver loginHost [localhost]: 10.0.0.45
Port [9090]:
Secure (Y/N) [N]:
Username: driver
Password:On Linux, run login with sudo, and on NI Linux Real-Time as admin, because it
reads the
environment file. Restart
a running Driver to use the new login.
start
Starts the service:
sudo synnax-driver startWith --standalone, runs the Driver in the terminal instead:
synnax-driver start --standaloneThe flags below apply only with --standalone. --standalone, --disable-sig-stop,
and --disable-stdin-stop take no value: they turn on when they are present. The other
flags take a value, as --port 9091 or --port=9091. For a boolean value, use true
or false.
--standalone,-s= falseRun the Driver in the terminal, not as a service.
--disable-sig-stop= falseKeep the Driver running when it gets SIGINT or SIGTERM.
--disable-stdin-stop= falseDo not stop the Driver when you type
STOPin the terminal. Use this flag when the Driver runs with no terminal.--configThe path of a configuration file.
--state-fileThe path of the state file. The default depends on the operating system. See State file.
--host= localhostThe host of the Core.
--port= 9090The port of the Core.
--username= synnaxThe username of the Driver user.
--password= seldonThe password of the Driver user.
--secure= falseConnect to the Core over TLS. Takes a value:
--secure true.--correct-skew= trueKeep the timestamps of hardware-timed NI and LabJack reads in step with the clock of the computer. Takes a value.
--op-timeout= 60The number of seconds after which a task operation that has not finished gives the task the error
operation timed out.--poll-interval= 1The number of seconds between two checks for task operations that have not finished.
--shutdown-timeout= 30The number of seconds that the Driver waits for task operations when it stops.
--worker-count= 4The number of threads that run task operations, from 1 to 64.
--rack-key= 0The key that the Core knows this Driver by. With 0, the Driver registers as a new Driver. Set
--cluster-keytoo.--cluster-key= 00000000-0000-0000-0000-000000000000The key of the Core that issued
--rack-key. When it is not the key of the Core, the Driver registers as a new Driver.--enable-integrationsIntegrations to add, separated by commas:
arc,ethercat,http,labjack,modbus,ni, oropc.--disable-integrationsIntegrations to remove, separated by commas. For example,
--disable-integrations ni,labjack.
The service ignores these flags. To configure the service, see Configure a standalone Driver.
stop
Stops the service.
sudo synnax-driver stoprestart
Stops and starts the service. Run it after login, or after you edit the environment
file.
sudo synnax-driver restartstatus
Shows whether the service runs.
synnax-driver status- Linux -> prints the output of
systemctl status synnax-driver. When the service does not run, the command fails withService is not running. - NI Linux Real-Time -> prints
Synnax Driver is running (PID: 28191), orSynnax Driver is not running.
logs
Shows the logs of the service, and the new logs as they come, until you press Ctrl+C.
synnax-driver logsOn Linux, the command runs journalctl -fu synnax-driver. On NI Linux Real-Time, it
shows /var/log/synnax-driver.log.
clear
Deletes the saved login and the rack key from the state file. On the next start, the Driver uses its other sources, or the defaults, and shows in the devices toolbar as a new Driver. The old entry stays on the Core.
sudo synnax-driver clearuninstall
Removes the service.
sudo synnax-driver uninstallOn Linux, uninstall stops the service first and removes the udev rule. On NI Linux
Real-Time, it does not stop the service, so run synnax-driver stop before uninstall.
The binary, the synnax user, the environment file, and the state file stay on the
computer.
On Windows and macOS, there is no service. Delete the binary instead.
version
Prints the version of the Driver.
synnax-driver version