我想在远程机器上 ssh 并终止该机器上的所有 java 进程。我已授权此机器无需密码即可 ssh,因此我使用命令:
ssh remote "kill -9 `pgrep java`"
但我得到了:
bash: line 0:kill (23779) -No such process
我该如何修复它?
答案1
跑步
ssh remote "kill -9 `pgrep java`"
将运行子pgrep java
进程你的机器,而不是远程机器。如果要在远程机器上运行它,则需要用撇号而不是双引号将参数括起来:
ssh remote 'kill -9 `pgrep java`'
答案2
我更喜欢使用
ssh remote "kill $(pidof java)"
答案3
只需替换kill
为pkill
:
ssh remote "pkill java"