我正在尝试使用“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”命令。
答案 0 :(得分:1)
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json())
此测试仅在字符串为空时才会通过。使用if [ -z "$PID_OF_EXISTING_PROCESS" ];
验证其不为空。
-n