-
Notifications
You must be signed in to change notification settings - Fork 4
CLI Apps Ls
Prints the applications running on this Mac. It is the default subcommand, so
ed apps on its own runs it, and list is an accepted alias.
ed apps ls [--json]
| Name | Type / values | Default | What it does |
|---|---|---|---|
--json |
flag | off | Emit JSON on stdout instead of the table. Long form only, there is no -j. |
--help, -h
|
flag | off | Print the help for this command on stdout and exit 0. |
--version |
flag | off | Print the CLI version on stdout and exit 0. Inherited from the root command, so it works here too. |
There is nothing else. ls has no search, no limit and no sort option: it
prints every app it can see, in one order, every time.
The table is five columns, and the rows are sorted by name with a case-insensitive, locale-aware comparison:
$ ed apps ls
NAME PID CPU MEMORY BUNDLE
Dia 40466 1.2% 342.5 MB company.thebrowser.dia
Finder 612 0.4% 198.8 MB com.apple.finder
Spotify 18719 0.0% 284.2 MB com.spotify.client
The list is NSWorkspace's running applications filtered to the ones whose
activation policy is regular, which means the ones macOS gives a Dock icon and
a menu bar to. Background daemons, launch agents and menu bar only apps are not
in it, and neither is Edith's own menu bar helper, so the Edith row above is
the main window process and never the helper that actually does the quitting.
An app whose windows are all closed but which is still in the Dock is listed,
despite the command's own one-line summary calling these the apps with a window
open.
A top-level array, in the same order as the table, of one object per app. This is a real document trimmed to three of the eight entries:
[
{
"active": true,
"bundleID": "company.thebrowser.dia",
"cpuPercent": 1.2,
"memoryMB": 342.5,
"name": "Dia",
"pid": 40466
},
{
"active": false,
"bundleID": "com.apple.finder",
"cpuPercent": 0.4,
"memoryMB": 198.8,
"name": "Finder",
"pid": 612
},
{
"active": false,
"bundleID": "dev.zed.Zed",
"cpuPercent": 0,
"memoryMB": 121.6,
"name": "Zed",
"pid": 49161
}
]What the fields mean:
-
nameis the app's localized name, the same string the Dock and the Finder show. An app that reports no name gets"Unknown", so the key is always a string. -
bundleIDis the bundle identifier, and it isnullrather than missing when the process has none. It is the only nullable field here. -
pidis the process id as an integer, which is what the helper is handed when you quit a single app. -
activeis true for the frontmost app and false for every other, so exactly one entry is true while any app is focused and none is while focus sits with something the list does not cover. -
cpuPercentis the process CPU consumed across a 100 millisecond sample. Values can exceed 100 on a process using more than one core. -
memoryMBis the physical footprint in mebibytes at the end of the sample. - The
BUNDLEcolumn isbundleID, printed as an empty cell where JSON saysnull. The table has no column foractive.
Object keys are sorted, so active, bundleID, cpuPercent, memoryMB, name
and pid always come in that order. The array keeps the name order.
ed apps ls
ed apps ls --json
ed apps ls --json | jq -r '.[] | select(.active) | .name'
ed apps ls --json | jq -r '.[] | "\(.pid) \(.name)"'
Nothing is mutated and nothing is written. Neither Edith process has to be running, no macOS permission is involved, and no subprocess is launched. The command takes one short local resource sample and never exits 4.
Every cell is flattened before it is printed: newlines, carriage returns and tabs become spaces, and other control characters are dropped, so a hostile app name cannot break the table across lines. Column widths are counted in characters, which means a name carrying an invisible mark such as a left-to-right override still occupies a column of width the eye does not see, and its row can look a character out of line.
ed apps ls and the app's Running apps card use the same EdithKit discovery and
resource measurement operations. The card keeps sampling and sorts by CPU
descending by default. The command takes one sample and sorts by name. For all
processes, including those without a Dock icon, use ed system stats --processes <n>.
-
ed apps, the rest of this group - All
edcommands
Auto-generated from docs/, edit the docs in the repo, not the wiki.
CLI reference
Companion
- Deploy
- Concepts
- Concepts Memory
- Concepts Ingestion
- Concepts Search
- Concepts Chat
- Concepts Learning
- Concepts Brain
- Concepts Friend
- Hosts
- Stack
- Status
- Doctor
- Search
- Index
- Ingest
- Episodes
- Sync
- Observations
- Reflect
- Beliefs
- Ask
- Extract
- Claims
- Corroborate
- Runs
- Chat
- Conversations
- Forget
- Export
- Import
- Erase
- Wipe
- Episode
- Nightly
- Reason
- Personas
- Council
- Lenses
- Core
- Why
- Hypotheses
- Predictions
- Commitments
- Discrepancies
- Calibration
- Inquire
- Entities
- Eval
- Standup
- Machines
- Baselines
- Connectors
- Facts
- Correct
- Weekly
- Db
Guides