如何在 linux 命令行中通过管道将节点名称传递给 ssh?

How to pass node name to ssh through pipe in linux command line?

节点中有多个作业,想看看我的作业在 运行 那里。由于内存问题,该节点被我(用户)占用为睡眠(只是拿走了没有实际工作的节点)并且qstat显示运行状态但实际上没有工作是运行。我需要使用 ssh 检查。

qstat显示如下

在我的试用中,

打印

我想通过管道将这些传递给 ssh 然后我可以使用

我可以在哪里查看作业 "amp_run.py" 是 运行。

但是以下失败了,

有没有办法在命令行中执行此操作,而不是编写脚本?或者任何其他检查占用节点而不是所有节点中的 运行 作业的建议?

这是一个简单的 xargs 用法。 当来自管道的参数位于下一个命令的任意位置时, -I{} 找到这个地方。所以命令应该是 lime this.

  • qstat | awk '/@/ {print $8}' |剪切-d@-f2 | xargs -I{} ssh {} ps 辅助 | grep amp_run.py