我正在尝试编写一个单行Linux命令,该命令将允许我列出名称为“ app.js”的所有正在运行的节点应用程序的端口。
我不确定如何将管道输出输出到另一个也需要管道传输的命令。我可以使用三个命令来执行此操作,但想知道是否可以在不使用临时文件的情况下一次执行该操作。
ps -a|grep node|awk '{print $1}'|xargs ps -Flww -p|grep "node app.js"|awk '{print $4}'>findNodeAppJsPorts.txt
netstat -tulpn|grep -f findNodeAppJsPorts.txt
rm findNodeAppJsPorts.txt
我确定某些Linux忍者知道如何做到这一点, 你能帮忙吗?
答案 0 :(得分:1)
如果使用bash,则可以尝试process substitution摆脱临时文件。例如:
netstat -tulpn | grep -f <(pgrep -a node | grep 'node app.js' | awk '{print $1}')