What is a "stuck" process?

Using the top command in Terminal, and ordering the list by state, I see a number of processes on Yosemite 10.10.1 whose state is stuck. I've looked through man ps and man top for an explanation, and done some googling, without enlightenment.

Nothing's apparently wrong with the system - in fact, coreaudiod (one of the stuck processes) is racking up CPU and merrily driving the sound system - but I'm curious what is "stuck" about them and whether this is cause for concern.

Processes: 198 total, 2 running, 5 stuck, 191 sleeping, 747 threads                                                                          21:42:18
Load Avg: 1.23, 1.21, 1.17  CPU usage: 0.72% user, 1.44% sys, 97.83% idle  SharedLibs: 15M resident, 15M data, 0B linkedit.
MemRegions: 367655 total, 2827M resident, 92M private, 294M shared. PhysMem: 7320M used (912M wired), 870M unused.
VM: 481G vsize, 1064M framework vsize, 0(0) swapins, 0(0) swapouts. Networks: packets: 41886204/42G in, 35471289/14G out.
Disks: 491864/8916M read, 1290630/36G written.

PID    COMMAND      %CPU TIME     #TH  #WQ  #PORT MEM    PURG   CMPR PGRP  PPID  STATE    BOOSTS           %CPU_ME %CPU_OTHRS UID  FAULTS    COW
261    coreaudiod   1.0  01:12.19 5    1    206   2412K  0B     0B   261   1     stuck    *0[1]            0.00000 0.00000    202  233919    198
231    accountsd    0.0  00:01.74 3    1    70    5092K  0B     0B   231   1     stuck     0[244]          0.00000 0.00000    501  11585     418
206    distnoted    0.0  00:24.10 3    1    143   4284K  0B     0B   206   1     stuck    *0[1]            0.00000 0.00000    501  70899     90
197    coresymbolic 0.0  00:00.35 3    2    23    996K   0B     0B   197   1     stuck     0[188]          0.00000 0.00000    0    57709     124
37     mds          0.0  02:54.01 4    1    802   44M    0B     0B   37    1     stuck    *0[1]            0.00000 0.00000    0    956495    1227
92425  tccd         0.0  00:00.00 2    1    26    972K   0B     0B   92425 1     sleeping  0[3]            0.00000 0.00000    235  935       124
92414  AssetCacheLo 0.0  00:00.68 4    0    74    3232K  0B     0B   92414 1     sleeping  0[22]           0.00000 0.00000    235  5147      175

The significance of stuck is that the process is not running while in a state that is uninterruptible while it waits for I/O. There’s nothing wrong, just that the kernel has accepted an I/O and it’s “stuck” waiting for that response before it can be paused or sent a signal to exit (or more likely continue to run normally).

  • How does 'stuck' (in results of 'top') relate to 'not responding' (in Activity Monitor), 'spin' or 'hang'?