簡體   English   中英

以編程方式獲取給定的進程名稱和ppid

[英]Get given process name and ppid programmatically

在Linux和其他POSIX(?)操作系統上-如何獲取給定(通過pid)進程的名稱和父pid? 目前,我正在讀取/ proc,但OSX沒有它。 在OSX上,我使用libproc,但在Linux上不起作用:

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

不幸的是,在處理信息時,每個操作系統的處理方式都不同。 如果只需要了解用戶啟動的應用程序,請查看NSWorkspace類的runningApplicationWithProcessIdentifier:方法。 否則,您將必須使用特定於平台的sysctl,如下所述:

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

另請參見此堆棧溢出問題:

以編程方式檢查進程是否在Mac上運行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM