Я пытаюсь распечатать PID запущенных процессов с помощью команды "lsof".
Кажется, что я получил правильный 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".