网站制作学习网Linux→正文:查看pid进程信息
字体:

查看pid进程信息

Linux 2025/7/16 18:24:42  点击:不统计


 通过shell脚本,查看pid进程信息
 
将下面代码保存为shell 的pid.sh文件 并给 执行 +x 权限。
运行命令格式:./pid.sh  [pid],[pid2],[pid3]
或则会 ./pid.sh 然后等待提示 输入  [pid],[pid2],[pid3]
 
   #!/bin/bash

# 如果没有提供参数,则提示用户输入
if [ "$#" -eq 0 ]; then
read -p "请输入要查询的 PID(可输入多个,用空格分隔): " INPUT
set -- $INPUT
fi

# 打印表头
printf "%-10s | %-40s | %-50s | %-50s\n" "PID" "CMD" "EXE" "CWD"
printf "%s\n" "$(printf '%.0s-' {1..170})"

# 遍历每个 PID
for PID in "$@"; do
# 检查是否为纯数字
if ! [[ "$PID" =~ ^[0-9]+$ ]]; then
printf "%-10s | %-40s | %-50s | %-50s\n" "$PID" "-非数字" "-" "-"
continue
fi

# 判断是否存在该进程
if [ ! -d "/proc/$PID" ]; then
printf "%-10s | %-40s | %-50s | %-50s\n" "$PID" "- 不存在" "-" "-"
continue
fi

# 获取 CMD
CMD=$(tr '\0' ' ' < /proc/$PID/cmdline 2>/dev/null)
EXE=$(readlink -f /proc/$PID/exe 2>/dev/null)
CWD=$(readlink -f /proc/$PID/cwd 2>/dev/null)
# 输出表格行
printf "%-10s | %-40.40s | %-50.50s | %-50.50s\n" "$PID" "$CMD" "$EXE" "$CWD"
printf "%s\n" "$(printf '%.0s-' {1..170})"
done

   

·上一篇:树莓派扩展虚拟内存 >>    ·下一篇:网站制作学习网
推荐文章
最新文章