system

System-level operations and information

Import

_ <- fat.system

Aliases

Name Original Type Brief
ExitCode Number Exit status or return code
CommandResult Scope Contains code and out (output)

Constants

  • successCode, 0: ExitCode
  • failureCode, 1: ExitCode

Methods

Name Signature Brief
args (): List/Text Return list of args passed from shell
exit (code: Number): * Exit program with provided exit code
getEnv (var: Text): Text Get env variable value by name
shell (cmd: Text): ExitCode Execute cmd in shell, return exit code
capture (cmd: Text): CommandResult Capture the output of cmd execution
fork (args: List/Text, out: Text = ø) Start background process, return PID
kill (pid: Number): Void Send SIGTERM to process by PID
getLocale (): Text Get current locale setting
setLocale (cmd: Text): Number Set current locale setting
getMacId (): Text Get machine identifier (MAC address)
setKey (key: Text): Void Set key for obfuscated bundles
setMem (mem: Number): Void Set memory limit (node count)
runGC (): Number Run GC, return elapsed in milliseconds

Usage Notes

Heads Up!

It is important to exercise caution and responsibility when using the getEnv, shell, capture, fork and kill methods. The system library provides the capability to execute commands directly from the operating system, which can introduce security risks if not used carefully.

To mitigate potential vulnerabilities, avoid using user input directly in constructing commands passed to these methods. User input should be validated to prevent command injection attacks and other security breaches.

setKey

Use preferably on .fryrc file like so:

_ <- fat.system
setKey('secret')  # will encode and decode bundles with this key

See more about obfuscating.

setMem

Use preferably on .fry file like so:

_ <- fat.system
setMem(5000)  # ~2mb

See more about memory management.

get/set locale

The fry interpreter will attempt to initialize LC_ALL locale to C.UTF-8 and if that locale is not available on the system tries to use en_US.UTF-8, otherwise, the default locale will be used.

See more about locale names.

locale configuration applies only to application, and is not persisted after fry exits

results matching ""

    No results matching ""