运行 一个 bash 脚本从另一个目录关闭 tomcat
Run a bash script to shutdown tomcat from another directory
我有两个脚本,一个用于 运行 Tomcat 服务器的应用程序关闭,另一个在部署时调用它。所以基本上在 Jenkins 构建我的应用程序之后,并将可部署的工件移动到服务器 (linux)。完成后,Jenkins 将启动脚本以在 Tomcat 上部署应用程序。该部署脚本调用另一个脚本来关闭 tomcat 上的当前 运行ning 应用程序。我遇到的问题是它无法识别 运行ning 在 Tomcat 上的任何内容。因此,我最终在服务器上同时获得了应用程序 运行ning 的两个实例……并且出现了内存不足异常。所以这是奇怪的部分。如果我尝试 运行 脚本作为 sudo /path/to/my/script stop
它无法识别 tomcat 上的任何应用程序 运行ning,但是如果我 cd 到 cd /path/to/my
之类的目录然后 运行 sudo ./script stop
它起作用了。有谁知道问题是什么?我不认为这与权限有关,我使用同一个用户来做所有事情,构建和部署。所有文件都归同一用户所有,我在命令前使用 sudo
。预先感谢您的帮助。
在不知道 script
做什么的情况下,这是你能做的最好的事情了
(cd path/to/my && sudo ./script stop)
您可以根据需要创建 alias
或 function
。
您真正想要的是 运行 hybris 即服务,然后 start/stop 此服务。
在 unix 上,我将使用 systemd 和系统 CTL。
我有两个脚本,一个用于 运行 Tomcat 服务器的应用程序关闭,另一个在部署时调用它。所以基本上在 Jenkins 构建我的应用程序之后,并将可部署的工件移动到服务器 (linux)。完成后,Jenkins 将启动脚本以在 Tomcat 上部署应用程序。该部署脚本调用另一个脚本来关闭 tomcat 上的当前 运行ning 应用程序。我遇到的问题是它无法识别 运行ning 在 Tomcat 上的任何内容。因此,我最终在服务器上同时获得了应用程序 运行ning 的两个实例……并且出现了内存不足异常。所以这是奇怪的部分。如果我尝试 运行 脚本作为 sudo /path/to/my/script stop
它无法识别 tomcat 上的任何应用程序 运行ning,但是如果我 cd 到 cd /path/to/my
之类的目录然后 运行 sudo ./script stop
它起作用了。有谁知道问题是什么?我不认为这与权限有关,我使用同一个用户来做所有事情,构建和部署。所有文件都归同一用户所有,我在命令前使用 sudo
。预先感谢您的帮助。
在不知道 script
做什么的情况下,这是你能做的最好的事情了
(cd path/to/my && sudo ./script stop)
您可以根据需要创建 alias
或 function
。
您真正想要的是 运行 hybris 即服务,然后 start/stop 此服务。
在 unix 上,我将使用 systemd 和系统 CTL。