我正在尝试使用“ lsof”命令打印正在运行的进程的PID。
看来我确实获得了正确的PID,但是我无法使用“ echo”命令将其打印出来。
关于以下bash脚本:
#!/bin/bash
portsArr=(4003 4200)
for port in "${portsArr[@]}"
do
PID_OF_EXISTING_PROCESS=$(lsof -ti:"$port")
if [ -z "$PID_OF_EXISTING_PROCESS" ];
then
echo "Process was already running on port: $PID_OF_EXISTING_PROCESS"
fi
done
输出是
进程已经在端口上运行:
这意味着已识别出PID(“ if”命令到达该点,再加上一些回波,我发现那时PID_OF_EXISTING_PROCESS等于4003),但由于某种原因未在“ echo”中打印“ 命令。
一只斗牛犬