2016-02-17 53 views
3

我想創建一個守護進程(基於腳本或某種低級語言),根據它們的啓動過程計算所有打開的應用程序的統計信息。問題是啓動過程並不總是等同於實際的父進程。在OS X中運行進程,查找啓動程序進程

舉例來說,當我按下從Microsoft Word的超鏈接應打開可執行文件一樣file:///Applications/Chess.app/

在上面的例子中,我觀察到,「國際象棋」的PPID是事實「的launchd」,只是就像我從啓動板運行它一樣。

也許有一個mach_port(或任何其他)api來找出誰真正啓動了應用程序?

回答

2

你不能。 Mac OS X不會以您要查找的方式跟蹤此信息 - 從另一個應用程序中打開應用程序不會在這些應用程序之間建立任何關係。