想要制作一个新贵脚本;需要帮助和建议

想要制作一个新贵脚本;需要帮助和建议

目前,我需要随机启动和停止(我脑子里找不到更好的词)一个作业。我通过输入来启动它java -jar foo.jar,要停止它,找出它的 pid 并终止它。终止它不会导致任何数据丢失或损坏,仅供参考。执行这两个步骤很繁琐,因为第一个命令必须从特定目录执行,即/usr/share/jetty(终止可以从任何地方执行)。

所以我在想

service foo start以及service foo stop启动和停止服务。这可能吗?更重要的是,这样做是否正确?还有其他解决方案吗?

谢谢。

答案1

是的,Upstart 是一个很好的选择。只需创建一个新文件:

sudoedit /etc/init/my-jetty-jar.conf

您可以将文件名更改为任何您喜欢的文件名,然后将其粘贴在其中:

description     "Run my jetty jar"

# no start option as you might not want it to auto-start
# This might not be supported - you might need a: start on runlevel [3]
stop on runlevel [!2345]

# if you want it to automatically restart if it crashes, leave the next line in
respawn

script
    cd /usr/share/jetty
    su -c "/usb/bin/java -jar /path/to/foo.jar" nobody
end script

关于这一点,我有一些注意事项,su出于安全考虑,我不会向任何人透露。您可能需要将其su转移到另一个帐户,但可能不建议将其作为运行root

相关内容