如何從他的pid獲取進程名稱? 例如,我執行cat file1.txt,但我想知道cat命令及其參數,因爲它在系統中的pid。有沒有一個結構來確定它或類似的東西?任何想法?Linux中的pid進程名稱
回答
沒有任何通用的方法來做到這一點。每個操作系統都有不同的方式來處理它,有些非常困難。不過你提到Linux。使用Linux時,信息位於/ proc文件系統中。
要獲取進程ID 9999的命令行,請閱讀文件/proc/9999/cmdline
。
而要獲取進程ID 9999的進程名稱,請閱讀文件'/ proc/9999/comm'。 – 2013-07-05 15:02:16
問題是如何獲取進程名稱,而不是命令行。在我的SUSE上,爲kwrite進程輸入'head/proc/9999/cmdline',並返回:'kdeinit4:kwrite [kdeinit]'。如果我使用/ comm而不是/ cmdline,我會得到正確的結果:'kwrite'。 – Elmue 2015-04-21 11:01:28
POSIX C不支持給出一個標準API來獲取PID的進程名稱。
在Linux中,您可以通過LINUX Proc API獲取名稱:/ proc/$ PID/cmdline。並且代碼看起來像這樣:
const char* get_process_name_by_pid(const int pid)
{
char* name = (char*)calloc(1024,sizeof(char));
if(name){
sprintf(name, "/proc/%d/cmdline",pid);
FILE* f = fopen(name,"r");
if(f){
size_t size;
size = fread(name, sizeof(char), 1024, f);
if(size>0){
if('\n'==name[size-1])
name[size-1]='\0';
}
fclose(f);
}
}
return name;
}
如果你來這裏尋找解決方案在C#與單聲道工作,然後看看這個:http://stackoverflow.com/questions/29827331/workaround-for-bug-in-mono-wrong-process-processname-solved – Elmue 2015-04-23 15:32:38
爲了得到一個進程ID的進程名說9000,使用這個命令:
ps -p 9000 -o comm=
儘管這個問題已經回答了,我想加我2美分。
在我的情況下,當進程1111通過管道創建進程22222(至少這是我所聽到的)時,/ proc/2222/cmdline沒有給出正確的進程名稱,而是給出了類似1111_1的東西。我必須使用/ proc/2222/comm來獲取正確的進程名稱。
- 1. linux在內核中從pid獲取進程名稱
- 2. 來自pid的Unix進程名稱
- 3. linux - 獲取進程的pid
- 4. 通過PID獲取進程名稱
- 5. 通過PID查找進程名稱
- 6. 如何從linux中的pid獲取進程的路徑或名稱
- 7. 如何從java中的pid中找到進程名稱?
- 8. 改革進程名稱[0]在Linux中
- 9. 在Linux中更改進程名稱
- 10. 如何從C++中的PID獲取進程名稱?
- 11. 跟蹤後臺進程的PID,並將其與進程名稱一起存儲在linux中
- 12. 在Debian中顯示進程名稱和pid
- 13. 最後一個pid進程linux
- 14. Linux殺死進程kill -9 PID
- 15. 如何通過PID查找應用程序名稱(進程ID)
- 16. 獲取java進程的名稱而不是pid?
- 17. 因爲它是PID的進程在Linux中的所有權因爲它是PID
- 18. 獲取模塊名稱和進程名稱在LINUX C++
- 19. erlang中的事件管理器進程。命名進程或Pid?
- 20. 如何從PID使用C獲取進程名稱
- 21. 使用其名稱而不是PID殺死java進程
- 22. 如何使用PID從服務器層獲取進程名稱
- 23. 使用名稱而不是PID來殺死JVM進程
- 24. 從pid或句柄獲取進程名稱
- 25. 殺死殭屍進程,瞭解linux中的PID C
- 26. 從內核linux中獲取pid的完整進程路徑
- 27. 獲取linux中的最後一個(最新)進程pid
- 28. 按名稱返回PID
- 29. 從PID獲取名稱?
- 30. 通過他的PID分析一個進程Linux內核編程
[通過PID獲取進程名稱]的可能重複(http://stackoverflow.com/questions/4189717/get-process-name-by-pid) – Hasturkun 2013-03-21 11:01:42