Skip to main content

lium ps

List your active pods.

lium ps [POD_ID] [OPTIONS]

Arguments​

  • POD_ID — Optional pod name, huid or id (not a row number). When given, shows just that pod, without the # column.

Options​

FlagEffect
--format FORMATOutput format: table (default) or json

Examples​

lium ps # All your pods
lium ps my-pod # A single pod by name/huid/id
lium ps --format json # JSON output

Naming a POD_ID that matches nothing exits 5, in both table and json format — the same rule lium rm follows. An unfiltered lium ps on an account with no pods is not a failure: it warns No active pods as a table, prints [] with --format json, and exits 0 either way.

The numeric index in the first column (index in --format json) is a row number, not an id. Since lium 0.0.34, lium ssh, lium exec, lium scp, lium rsync, lium rm and the other commands that take a pod target read it as the pod your last lium ps in this shell showed on that row: the number is translated to that pod's id and looked up in the live list, so it still means the same pod after the list has reordered (a pod created or removed, on a shared account by anyone). It is refused, with exit 2 and the code stale_pod_index, when that pod is missing from the live list (Pod index 1 was eager-wolf-aa in the last 'lium ps' but that pod is no longer listed), when the listing is older than 10 minutes, or when no lium ps ran in this shell; a pod whose name, id or huid is literally that number is the one exception, it then matches by name. The snapshot is kept per shell, so another agent's lium ps in the same home directory does not change your numbers, and only an unfiltered lium ps defines them (lium ps my-pod shows no # column and leaves them as they were). 0.0.33 read the number as a position in the live list at the moment of the command. In scripts use the huid or the name — lium ps --format json gives both — or refuse row numbers with LIUM_NO_POD_INDEX=1 (every command) or --name-only on lium rm.

See also​