Dz
Djazair
v1.0.5
🔍

Process Module

Import using: use process

Process Identification

  • process.pid() - Current process ID.
  • process.ppid() - Parent process ID.
use process
print("PID: " + process.pid())
print("PPID: " + process.ppid())

Process Control

  • process.exit(code) - Terminate script with exit code.
  • process.kill(pid, signal?) - Send signal to process (default SIGTERM=15).
use process
# process.exit(0)  # terminates immediately
# process.kill(12345, 15)  # send SIGTERM

Working Directory

  • process.cwd() - Current working directory path.
  • process.chdir(path) - Change current working directory.
use process
let cwd = process.cwd()
print(cwd)
process.chdir("..")
print(process.cwd())
process.chdir(cwd)

Command Execution

  • process.exec(command) - Execute shell command. Returns Map with "stdout", "stderr", "exit_code".
use process
let result = process.exec("echo Hello")
print("Exit: " + result["exit_code"])
print("Out: " + result["stdout"])

CLI Arguments & Script Location

  • process.args() - Command-line arguments (array of strings).
  • process.scriptDir() - Directory of the currently executing script.
use process
print(process.scriptDir())
print(str(process.args()))

Asynchronous Spawning (Bidirectional)

  • process.spawn(command) - Spawn background command, returns a Map: {"read": R, "write": W, "err": E, "pid": PID}.
  • process.read(handle) - Non-blocking read from a process handle (e.g. child["read"] or child["err"]).
  • process.write(handle, text) - Write text to process's stdin pipe. Returns True on success.
  • process.close(handle) - Close process handle. Use this to send EOF to stdin, or to release file descriptors.
  • process.wait(pid) - Wait for the background process to exit and return its exit code.
use process
let child = process.spawn("sort")

# Write data to the process's standard input
process.write(child["write"], "banana\napple\ncherry\n")
process.close(child["write"]) # Signal EOF

# Read from standard output
let output = ""
while True
    let chunk = process.read(child["read"])
    if isNull(chunk)
        break
    end
    output = output + chunk
end

process.close(child["read"])
process.close(child["err"])

let code = process.wait(child["pid"])
print("Sorted Output:\n" + output)
print("Exit: " + str(code))
© 2026 Harizi Riyadh. Released under the MIT License.
Official Website for Djazair.