May*_*ain 13 unix linux shell pid
我正在编写一个shell脚本,我希望得到一个名为"ABCD"的进程的PID.我做的是:
process_id=`/bin/ps -fu $USER|grep "ABCD"|awk '{print $2}'`
Run Code Online (Sandbox Code Playgroud)
这得到两个进程的PID,即进程ABCD和GREP命令本身,如果我不想获得GREP的PID执行,我只想要ABCD进程的PID?
请建议.
blu*_*lue 37
只是grep grep本身!
process_id=`/bin/ps -fu $USER| grep "ABCD" | grep -v "grep" | awk '{print $2}'`
Run Code Online (Sandbox Code Playgroud)
小智 6
它非常简单。ABCD应该替换为您的进程名称。
#!/bin/bash
processId=$(ps -ef | grep 'ABCD' | grep -v 'grep' | awk '{ printf $2 }')
echo $processId
Run Code Online (Sandbox Code Playgroud)
有时您需要用软件名称替换ABCD。示例-如果您运行类似的Java程序,java -jar TestJar.jar &则需要用TestJar.jar替换ABCD