Vi.*_*Vi. 111 linux command-line process pid
解决之前问: cat /proc/1111/status | grep PPid
Den*_*son 126
命令行:
ps -o ppid= -p 1111
Run Code Online (Sandbox Code Playgroud)
功能:
ppid () { ps -p ${1:-$$} -o ppid=; }
Run Code Online (Sandbox Code Playgroud)
别名(最好使用函数):
alias ppid='ps -o ppid= -p'
Run Code Online (Sandbox Code Playgroud)
脚本:
#!/bin/sh
pid=$1
if [ -z $pid ]
then
read -p "PID: " pid
fi
ps -p ${pid:-$$} -o ppid=
Run Code Online (Sandbox Code Playgroud)
如果没有向函数或脚本提供 PID,它们默认显示当前进程的 PPID。
要使用别名,必须提供 PID。
ken*_*orb 19
要打印PPID所有进程的父 ID ( ),请使用以下命令:
ps j
Run Code Online (Sandbox Code Playgroud)
对于单个进程,只需传递 PID,例如:ps j 1234。
要仅提取值,请按 过滤输出awk,例如:
ps j | awk 'NR>1 {print $3}' # BSD ps
ps j | awk 'NR>1 {print $1}' # GNU ps
Run Code Online (Sandbox Code Playgroud)
要列出所有父母的 PID,请使用pstree(如果没有,请安装它):
$ pstree -sg 1234
systemd(1)???sshd(1036)???bash(2383)???pstree(3007)
Run Code Online (Sandbox Code Playgroud)
要获取当前进程的父 PID,请使用echo $$.
小智 15
这是我学习、忘记、重新学习、重复的事情之一。但它很有用。pstree 命令的 's' 标志显示一棵树在 N 处有一片叶子:
pstree -sA $(pgrep badblocks)
systemd---sudo---mkfs.ext4---badblocks
Run Code Online (Sandbox Code Playgroud)
小智 13
父 pid 在 shell 变量 PPID 中,所以
echo $PPID
Run Code Online (Sandbox Code Playgroud)
读取 /proc/$PID/status。可以很容易地编写脚本:
#!/bin/sh
P=$1
如果 [ -z "$P" ]; 然后
读P
菲
cat /proc/"$P"/status | grep PPid: | grep -o "[0-9]*"
| 归档时间: |
|
| 查看次数: |
243370 次 |
| 最近记录: |