使用heredoc在远程计算机上执行多行命令。试图获取服务器的pid以杀死位于远程计算机中的服务器。
#!/bin/bash
HOST_IP="10.180.5.23"
read -p "For HOST RESTART press 1" num
if [ "$num" == "1" ]
then
ssh -t -t $HOST_IP << 'EOSSH'
line=$(pgrep -f host_server1)
echo $line
arr=($line)
sudo kill -9 "${arr[1]}"
EOSSH
fi错误:杀死:(15015) -不允许操作
发布于 2016-07-26 06:27:34
这里的文件运行良好,但sudo期望您输入密码,并且没有连接到ssh的终端,该终端执行服务器上的命令。你有两个选择,两者都不是完全安全的:
这些通常适用于作为root用户运行的脚本。您的另一个特定于这种情况的选项是以运行服务器进程的用户的身份登录,这样您就不会得到不允许的操作。
https://stackoverflow.com/questions/38582308
复制相似问题