如何解决Bash如何远程杀死进程ID
在 linux 设备上,运行以下进程 ID:
我正在尝试远程终止与 ads2(如上图所示)相关的进程 ID(通过在另一台设备上运行的 bash 脚本)。所以我尝试了:
ssh nvidia@"id-address" "kill pgrep ads2"
其中 pgrep
返回与 ads2
相关的进程 ID。当我运行脚本时,它提示我输入密码,然后什么也没发生,我的意思是进程没有终止。
但是,我不知道错误在哪里。
提前致谢
解决方法
kill
期望其后有一个数字(或数字列表)。 pgrep ads2
只是文字!
为了让 bash 将单词 pgrep ads2
替换为运行该命令的结果以生成 kill 15951 15995
,您可以使用反引号。
即:kill `pgrep ads2`
将首先运行 pgrep ads
,然后 kill (result of pgrep ads2)
但是,当您通过 ssh 执行此操作时,您的计算机将在远程之前运行反引号。 IE。 pgrep ads
将在您的本地计算机上运行,而 kill
将在远程计算机上运行,这将不起作用。所以你必须像这样逃避反引号:
ssh nvidia@"id-address" "kill \`pgrep ads2\`"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。