基本思路:
获取进程所有pid,然后根据当前pid对应的进程文件系统中status文件获取到进程名,与当前进程名完全匹配的即为当前进程的pid。
app_name="test"
real_pid=-1
for pid in `pidof $app_name`; do
process_name = `cat /proc/${
pid}/status/|grep "Name"|awk '{print $2}'`
if [ $process_name == $app_name ]; then
real_pid=${pid}
fi
done
echo ${real_pid}