我正在使用该应用程序丛连接在我的家庭服务器(无头 OSX 机器)上,我必须(从 iMac)通过 ssh 登录并有时使用以下命令手动终止 Python 进程:
ssh 192.168.0.7
ENTER PASSWORD
sudo launchctl unload /Library/LaunchDaemons/com.plex.plexconnect.bash.plist
ENTER PASSWORD AGAIN
sudo lsof -i ':80'
sudo kill -9 [PID OF PYTHON PROCESS]
sudo launchctl load /Library/LaunchDaemons/com.plex.plexconnect.bash.plist
我对此没有任何问题,但我的妻子不太熟悉命令行。有什么方法可以在我的 iMac 上创建一些东西,她可以双击来完成整个事情吗?
答案1
因此,在 sudoers 文件中设置 SSH 密钥和 NOPASSWD 条目后,您可以执行类似的操作
#!/bin/bash
if [[ ${UID} -ne 0 ]] ; then
echo "Must run script as root" >&2
exit 1
fi
launchctl unload /Library/LaunchDaemons/com.plex.plexconnect.bash.plist
#check what is running on port 80 and if the output matches 'python' then print the second column and pass it to kill
lsof -i ':80' | awk '/python/{print $2;}' | xargs kill
launchctl load /Library/LaunchDaemons/com.plex.plexconnect.bash.plist
我还没有对此进行测试,但它应该可以让您了解如何进行。
你可以在另一台计算机上有一些东西:
#!/bin/bash
server_ip=1.2.3.4
ssh_cmd="ssh -oBatchMode=yes ${server_ip}"
${ssh_cmd} 'sudo /path/to/above/script.sh'