【发布时间】:2017-11-18 09:35:14
【问题描述】:
我想设置一个脚本,该脚本将连接到 linux 服务器,然后停止/启动服务。但是在服务停止和启动之间,它应该等待大约 10 秒,然后检查服务是否真的停止了。
service httpd stop
--wait 10 seconds. check ps -ef | grep httpd, kill if any hanged processes
service httpd start
有人可以帮我看看怎么做吗?
【问题讨论】:
-
使用
sleep和kill -9而不是显式检查。 -
我可以使用用户名和密码连接到服务器吗?我正在检查表格,但大多数人说创建一个 ssh 密钥。我将在我想运行命令的同一台服务器上部署这个 shell 脚本
-
您当然可以将 ssh 服务器配置为接受密码。但不建议这样做,因为它比密钥更不安全。而且您只能以交互方式执行此操作,因此不能使用脚本。至少你不应该。
-
我正在尝试睡眠,但出现此错误 sleep: invalid time interval `10\r',你能告诉我如何解决这个问题吗?这是我在脚本中添加的内容:sleep 10
-
您显然需要指定要杀死的什么进程。如果您不确定它们的用法,请阅读您尝试使用的命令的手册页。例如
man kill。在您的情况下,killall -9 /usr/sbin/httpd可能是一个不错的选择,因为它不需要特定的进程 ID。