2015-06-17 41 views
0

我正在尝试检查在特定端口上运行的进程,如果存在,请杀死它们,因为我必须在该端口上启动另一个进程。从bash脚本执行lsof时出错

下面是我的代码片段。

#!/usr/bin/env bash 

TEST_CASE_PATH="$HOME/Projects"; 

#kill Previous Process Running on port 9130 

OUTPUT="$(ls -1)" 
echo "${OUTPUT}" # Getting proper Output 

PORT_NUMBER=9130 
IS_RUNNING = "$(lsof -i tcp:${PORT_NUMBER} | awk 'NR!=1 {print $2}' | xargs kill)" 

echo "${IS_RUNNING}" # this fails 

的$ OUTPUT似乎完美地工作,但管道命令似乎打破。

而且我得到错误,如:

IS_RUNNING:找不到命令

任何人知道如何解决这个问题之一。

谢谢

回答

1

您在IS_RUNNING声明中有额外的空间。尝试

IS_RUNNING="$(lsof...)" 
+0

谢谢,这有助于解决问题 –