我想杀死与 tcsh shell 中的进程相关的 PID 列表。我运行了以下命令:
> losf <file> | awk '{print($2)"'
Run Code Online (Sandbox Code Playgroud)
该命令将显示 PID 列表。
PID1
PID2
...
然后我运行以下命令来杀死这些 PID。
> kill -9 `lsof <file> | awk'{print($2)}'`
Run Code Online (Sandbox Code Playgroud)
当执行该kill
命令时,终端只是以某种方式挂起,而没有杀死任何 PID。然后我不得不恢复一一杀死那些 PID。
因此,有没有一种方法可以实现我想要做的事情,如上所示?谢谢。
小智 5
xargs
是一个标准实用程序,用于对从标准输入读取的每个给定行执行操作。你可以这样使用它:
> lsof <file> | awk '{print($2)}' | xargs -I '{}' kill {}
Run Code Online (Sandbox Code Playgroud)