2015-08-21 109 views
0

在Linux和其他POSIX(?)操作系統上 - 如何獲得給定(通過pid)進程的名稱和父級PID?目前我正在閱讀/ proc,但OSX沒有它。在OSX我使用libproc但是,這並不工作在Linux上:以編程方式獲取給定進程名稱和ppid

int ret = proc_pidpath (pid, pathbuf, sizeof(pathbuf)); 
if (ret <= 0) { 
    _dbg(" %s\n", strerror(errno)); 
    return false; 
} 
+1

可能是你需要[getppid()] (http://linux.die.net/man/3/getppid)? –

+0

不,我有一個PID來檢查 –

+0

可能重複[linux:以編程方式獲取另一個進程的父pid?](http://stackoverflow.com/questions/1525605/linux-programmatically-get-parent-pid-of-另一個進程) –

回答

0

不幸的是,當涉及到處理信息,每個操作系統做一些與衆不同的事情。如果您只需瞭解用戶啓動的應用程序,請查看NSWorkspace類的runningApplicationWithProcessIdentifier:方法。否則,你將不得不使用特定平臺的sysctl如下所述:

https://developer.apple.com/legacy/library/qa/qa2001/qa1123.html#//apple_ref/doc/uid/DTS10001671

又見這堆棧溢出問題:

Programmatically check if a process is running on Mac

相關問題