#!/bin/sh
#pid=` ps -A | sed -n '/'${1}'/1p' | awk {'printf $1'}`
if [ ${1} ]; then
# pid=` ps -A | sed -n '/'$1'/p' | awk {'printf $1'} `;
pid=` ps -A | grep $1 | awk {'printf $1'} `
echo pid of init is ${pid}
else
echo "Usage: ${0} task_name"
#zz# 变量赋值,前级输出作为 | 管道后级的输入; 这里要用ESC线面的 ` 即反引号包含起来
#pid=` ps -A | grep init | awk {'printf $1'}`#pid=` ps -A | grep $1 | awk {'printf $1'}`
#zz# 变量 $1 要用 '$1' 两个单引号包起来
#pid=` ps -A | sed -n '/'${1}'/p' | awk {'printf $1'}`#pid=` ps -A | sed -n '/'${1}'/1p' | awk {'printf $1'}`
if [ ${1} ]; then
# pid=` ps -A | sed -n '/'$1'/p' | awk {'printf $1'} `;
pid=` ps -A | grep $1 | awk {'printf $1'} `
echo pid of init is ${pid}
else
echo "Usage: ${0} task_name"
fi
保存为 findpid.sh ,再在当前路径下执行
# chmod a+x findpid.sh
# findpid.sh init
会显示
pid of init is 1
本文介绍如何使用Shell脚本通过正则表达式和命令行工具(如ps、grep、awk、sed)来查找特定进程ID。脚本演示了如何通过命令参数接收进程名,并返回对应的PID。
172

被折叠的 条评论
为什么被折叠?



