DTrace END never triggers

I have a mid-2009 MacBook Pro and a new 2012 MacBook Pro, and I'm participating in the DTrace learning process (a pretty awesome tool). When I calculate aggregates on the new MBP 2012, aggregates are not printed.

sudo dtrace -n 'syscall:::entry { @[execname] = count() }'

On my mid-2009 MBP, it shows something like:

  usbmuxd                                                           1
  GrowlHelperApp                                                    2
  imklaunchagent                                                    2
  installd                                                          2
  stackshot                                                         2
  ...

2012 MBP shows nothing.

I added printf to BEING and END probes to see if the END probe could work like this:

BEGIN
{
    printf("Hi!");
}

syscall:::entry
{
   @[execname] = count();
}

END
{
    printf("Bye!")
}

In mid-2009, MBP both probes were launched and printed, and for 2012 MBP the BEGIN probe was just launched. END never worked.

MBP Lion 10.7.3. , . , , , 2012 MBP. , .

. .

============= [ ] ====================

, root

sudo dtrace -n 'syscall:::entry { @[execname] = count() }'

,

su
dtrace -n 'syscall:::entry { @[execname] = count() }'

!

============= [kill -s INT] =============================================================== =

. :

sudo kill -s INT [pid of dtrace]

, .

:

sudo kill -s INT [pid of sudo running dtrace]

!

control-c , .

control-c kill -s INT?

+5
1

linux.

Ctrl-C , dtrace sudo.

sudo -i, , dtrace, .

+5

All Articles