LSMP(1)

πŸ“¦ version 1042.100.6.0.1, in nixpkgs unstable

LSMP(1) πŸ’…

okay so this is LSMP(1) straight out of the General Commands Manual, and she's here to spill all the tea on mach ports for processes on the system. πŸ«–βœ¨

🌸 NAME 🌸

lsmp β€” display mach port information for processes on the system.

⭐ SYNOPSIS ⭐

No cap, here's the whole lineup:

lsmp -h
lsmp -p <pid>
lsmp -v
lsmp -a
lsmp -j <path>

What each one means, bestie:

  • lsmp -h β€” the -h invocation, right here, periodt. πŸ’…
  • lsmp -p <pid> β€” show mach port usage for <pid>. Run with root privileges to see detailed info about port destinations etc.
  • lsmp -v β€” show information in detail for Kernel object based ports. Including thread ports and special ports attached to it.
  • lsmp -a β€” show mach port usage for all tasks in the system.
  • lsmp -j <path> β€” save output as JSON to <path>.

πŸ¦‹ DESCRIPTION πŸ¦‹

The lsmp command prints information about every active right in a task's port space, giving a view into the inter-process communication behavior of that task. It's giving full port-space main character energy, honestly. πŸ‘‘

Following is an explanation of each symbol and values from the output:

  • name β€” Task unique name for a port. A - signifies that this is a member of a port-set.
  • ipc-object β€” A unique identifier for a kernel object. A + sign implies that this entry is expanded from above ipc-object.
  • rights β€” Rights corresponding to this name. Possible values are recv, send, send-once and port-set.
  • flags β€” Flags indicating port status.
    • T β€” Port has tempowner set
    • G β€” Port is guarded
    • S β€” Port has strict guarding restrictions
    • I β€” Port has importance donation flag set
    • R β€” Port is marked reviving
    • P β€” Port has task pointer set
  • boost β€” Importance boost count.
  • reqs β€” Notifications armed on this port.
    • D β€” Dead name notification
    • N β€” No sender notification
    • P β€” Port Destroy requests
  • recv β€” Number of recv rights for this name.
  • send β€” Number of send rights stored at this name. This does NOT reflect the total number of send rights for this recv right.
  • sonce β€” Number of outstanding send-once rights for this receive right.
  • oref β€” Do send rights exist somewhere for this receive right?
  • qlimit β€” Queue limit for this port. If orefs column shows -> then it indicates the queue limit on the destination port. And a <- indicates this port right is destined to receive messages from process referred in identifier column.
  • msgcount β€” Number of messages enqueued on this port. See qlimit for -> and <- explanations.
  • context β€” Mach port context value.
  • identifier β€” A unique identifier for a kernel object or task's name for this right. This field is described by the type column.

πŸ’œ SEE ALSO πŸ’œ

Go bother these besties too:

🌸 macOS Β· July 24, 2012 Β· LSMP(1) β€” okay love u, bye bestie πŸ’‹
πŸ“¦ where this page comes from