How to determine which process owns a window or notification in OS X

How can I determine which process owns a window or notification in OS X, like I can in Windows with Process Monitor or Process Explorer?
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Ankit PareekOnline MarketingCommented:
On Mac we are used activity monitor
Refer this link it will be solve your problem
Activity Monitor is GUI utility that's easiest to look up.

It basically combines the functionality of several command line tools into one easy interface.
top <-- similar to Activity Monitor
ps <-- shows processes
lsof <-- list open files and the process it's connected to
netstat <-- network
there's other's too
avalonnycAuthor Commented:
I am familiar with Activity Monitor.   I looked at Activity Monitor to see if it had that functionality.

If someone asked me this question about Windows, I would say:

1. Download Process Explorer from and run it.
4. Drag the toolbar icon that looks like a target, and drop it on the window or dialog in question, and the process that owns the window will be highlighted in blue.

So, let me rephrase the question:
How can I determine which process owns a window or notification in OS X using Activity Monitor?

I don't think anyone has written a program with that kind of capability for a Mac.  There isn't an equivalent to Mark Russinovich in the Mac World.  He wrote many great tools for Microsoft before they hired him.  Fortunately, they kept everything intact.  I downloaded every Sysinternals utility of his on that day, just in case.

The closest thing you can get is to Select Windowed Processes to narrow the field click on the info button of each process, attempt to watch it for changes, then work backwards from there.  You need to ID the process ID and correlate all the Parent Process IDs.  I think that's easier done via a command line script to parse the output of ps after you've identified the PID of the main window.  It will still be tedious.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Mac OS X

From novice to tech pro — start learning today.