4

我试图让 .jar 文件在 Ubuntu 机器上启动时运行,但我没有得到任何地方。我已经尝试过这里的说明https://askubuntu.com/questions/99232/how-to-make-a-jar-file-run-on-startup-and-when-you-log-out,我'我尝试使用 Upstart 网站和食谱中的信息,但没有奏效。我已经尝试过旧的 SysV 和新的 Upstart 方法,但它们都没有在系统启动时启动 .jar。

这是运行 .jar 的 shell 脚本

#!/bin/bash

cd /home/dev/TransformationService/

java -jar TransformationServer.jar

SysV 启动方法的文件

#!/bin/bash
# Transformation Server
# 
# Description: Transforms incoming messages on a given port and forwards them

case $1 in
    start)
        /bin/bash /usr/local/bin/ServerStart.sh
    ;;
    stop)
        /bin/bash /usr/local/bin/ServerStop.sh
    ;;
    restart)
        /bin/bash /usr/local/bin/ServerStop.sh
        /bin/bash /usr/local/bin/ServerStart.sh
    ;;
esac
exit 0

新贵方法

# transformationserver - transforms incoming http messages, and redirects them
#
# This service intercepts incoming http messages on a given port, and
# transforms them into an acceptable format in order to be received
# by a 3rd party service

start on runlevel [345]
stop on runlevel [!2345]

respawn

script
    exec /bin/bash /home/ubuntu/TransformationServer/ServerStart.sh
    # Also trying the below as well
    #exec /bin/java -jar /home/ubuntu/TransformationServer/TransformationServer.jar
end-script

有更多使用这两种方法经验的人可以在这里查看我的文件,并可能以此为我指明正确的方向吗?需要此服务,以便我们的公司系统可以成功接收来自我们的一位客户的通信。

提前致谢。

4

1 回答 1

1

你用 crontab 怎么样?

作为您希望 jar 运行的用户,运行以下命令:

crontab -e

添加行:

@reboot /path/to/your/ServerStart.sh

保存。这样当服务器在重新启动后重新启动时,它将运行您的 shell 脚本。

这是您的 crontab,您可以通过man crontab或 Wikipedia 页面了解所有相关信息: https ://en.wikipedia.org/wiki/Cron

于 2013-07-24T03:57:30.427 回答