mahmood Asked: 2013-02-17 04:15:18 +0800 CST2013-02-17 04:15:18 +0800 CST 2013-02-17 04:15:18 +0800 CST 从 PID 中查找命令 772 是否有可能找到正在运行的进程的命令行pid?的输出/proc/${PID}/cmdline似乎删除了空格字符,很难读取输出。 linux 4 个回答 Voted Best Answer Jay 2013-02-17T04:22:29+08:002013-02-17T04:22:29+08:00 来自:https ://stackoverflow.com/questions/993452/splitting-proc-cmdline-arguments-with-spaces cat /proc/${PID}/cmdline | tr '\000' ' ' cat /proc/${PID}/cmdline | xargs -0 echo Sven 2013-02-17T04:23:27+08:002013-02-17T04:23:27+08:00 ps可以显示这个: ps -o cmd fp <PID> ps可以做更多。有关信息,请参阅man ps VDR 2014-04-17T16:36:43+08:002014-04-17T16:36:43+08:00 将此脚本放入您的.bashrc文件中并获取它 $ 源 ~/.bashrc 您可以使用命令$pid调用它,该命令将 PID 作为命令行参数并将进程名称、用户(进程所有者)作为输出,例如: $ pid 1 2 3 4 5 6 7 8 9 10 PID=1 Command=systemd User=root PID=2 Command=kthreadd User=root PID=3 Command=ksoftirqd/0 User=root PID=5 Command=kworker/0:0H User=root PID=7 Command=rcu_sched User=root PID=8 Command=rcu_bh User=root PID=9 Command=migration/0 User=root PID=10 Command=watchdog/0 User=root 脚本: function pid(){ if [[ $# > 0 ]] then for i in $@ do ps -e -o pid,comm,user | awk '{print "PID="$1, " Command="$2," User="$3}'| egrep --color "^PID=$i\W" done else echo "Syntax: pid <pid number> [<pid number>]" fi } koxt 2019-12-15T10:28:08+08:002019-12-15T10:28:08+08:00 例如1和2是 PID。 显示命令的最短方式: ps 1 显式方式: ps --pid 1 2 仅显示命令字段: ps -o cmd 1 ps -o cmd --pid 1 2 文档:man ps
来自:https ://stackoverflow.com/questions/993452/splitting-proc-cmdline-arguments-with-spaces
cat /proc/${PID}/cmdline | tr '\000' ' '
cat /proc/${PID}/cmdline | xargs -0 echo
ps
可以显示这个:ps -o cmd fp <PID>
ps
可以做更多。有关信息,请参阅man ps
将此脚本放入您的.bashrc文件中并获取它
您可以使用命令$pid调用它,该命令将 PID 作为命令行参数并将进程名称、用户(进程所有者)作为输出,例如:
脚本:
例如
1
和2
是 PID。显示命令的最短方式:
显式方式:
仅显示命令字段:
文档:
man ps