我正在使用linux。
在给定正在运行的程序的PID的情况下,有没有办法获取用户定义的程序名?
我想输出程序名称,而不是进程名称。
例如:我有一个名为 stackoverflow.java 的java应用程序。现在,进程名称将由系统决定,该系统可能不同,但程序名称为 stackoverflow.java 。所以输出应该是程序名,只给出正在运行的程序的PID。
有些命令可以满足部分需求:
cat / proc /" PID" / cmdline - > 这将给出命令行参数,该参数使用给定的" PID"创建该进程。但是如果我们有不同编程语言的各种程序,那么运行该程序的命令格式就不一样了。那么在这种情况下,如何从这个命令中提取确切的程序名?
readlink -f / proc /" PID" / exe - >这将给出与给定的" PID"相关的可执行文件名。但是有些进程没有可执行文件。在这种情况下,它不会返回任何东西。
答案 0 :(得分:0)
const mychart = () => {
let stop = false;
const chart = (selection) => {
function tick(){
console.log("tick");
}
return tick;
};
chart.addToChart = (value) => {
console.log("addToChart");
return chart;
};
chart.stop = () => {
return stop = true;
}
return chart;
}
const a = mychart();
const tick = a();
tick(); //logs tick
a.addToChart(); //logs "addToChart"
实用程序执行此操作。例如,
ps
以下是如何只需要命令:
$ ps 12345
PID TTY STAT TIME COMMAND
12345 pts/1 S 0:00 sleep 20
所以你只需要删除第一行:
$ ps -o command 12345
COMMAND
sleep 20
如果你只想要没有参数的命令:
$ ps -o command 12345 |awk 'NR>1'
sleep 20
(注意:这对于名称中带空格的命令不起作用。)