gpt4 book ai didi

linux - 无法打印进程的PID

转载 作者:太空宇宙 更新时间:2023-11-04 10:09:05 26 4
gpt4 key购买 nike

我正在尝试使用“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

输出是

Process was already running on port:

这意味着 PID 已被识别(“if”命令到达那个点加上我做了一些回显,我看到 PID_OF_EXISTING_PROCESS 在那个点等于 4003),但由于某种原因没有打印在“echo ”命令。

最佳答案

if [ -z "$PID_OF_EXISTING_PROCESS"  ];

此测试仅在字符串为空时通过。使用 -n 验证它为空。

if [ -n "$PID_OF_EXISTING_PROCESS"  ];

关于linux - 无法打印进程的PID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50191552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com