{
  "id": "fn-process-info",
  "dataComponent": "process",
  "heading": {
    "title": "info",
    "badges": [
      "Process",
      "ASYNC"
    ]
  },
  "synopsis": "Retrieves environment and runtime details for the current process, asynchronously calling your callback with a keyed array of data.",
  "codeBlocks": [
    "extend(\"process\")\\n\\n# Example usage\\nprocess:info(info => {\\n  has_key(info, \"pid\")\\n  has_key(info, \"username\")\\n\\n  # Optionally check that info[\"platform\"] is \"linux\" or such\\n  slog(string:to_string(info))\\n})\\n\\n# The callback receives a keyed array with fields like \"pid\", \"uid\",\\n# \"username\", \"platform\", \"binary_name\", and so on."
  ],
  "notes": [
    "Accepts exactly one argument: a callback function. The callback is invoked asynchronously.",
    "The callback receives a KeyedArray containing process-related details, such as:",
    "- pid: an integer process ID",
    "- uid (on Unix) or 0 on other systems",
    "- username: current user name",
    "- binary_name: name of the current executable",
    "- cwd: current working directory path as a string",
    "- platform & architecture: e.g. \"linux\" / \"x86_64\"",
    "The test harness or main loop typically calls process:check_tasks to wait for any tasks spawned by process:info to complete."
  ]
}
