运行 一个 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)

您可以根据需要创建 aliasfunction

您真正想要的是 运行 hybris 即服务,然后 start/stop 此服务。

在 unix 上,我将使用 systemd 和系统 CTL。