我正在使用 Linux。
有没有办法在给出运行程序的 PID 的情况下获取用户定义的程序名称?
我想输出程序名称,而不是进程名称。
例如:我有一个名为 stackoverflow.java 的 Java 应用程序。现在,进程名称将由系统决定,可能会有所不同,但程序名称是 stackoverflow.java。因此,只给出该运行程序的 PID,输出应该是程序名称。
有一些命令可以满足部分需求,例如:
cat /proc/"PID"/cmdline -> 这将给出创建具有给定 "PID" 的进程的命令行参数。但是,如果我们有不同编程语言的各种程序,则运行该程序的命令格式将不相同。那么,在这种情况下,如何从该命令中提取准确的程序名称?
readlink -f /proc/"PID"/exe -> 这将给出与具有给定 "PID" 的进程相关联的可执行文件名。但是,某些进程没有可执行文件。在这种情况下,它将不返回任何内容。
/proc/PID/cmdline
,并根据第一个或第二个名称编写相应的条件语句。例如,如果是Python,则取第二个名称;如果是可执行文件,则取第一个名称等。 - undefined