如何从他的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