我写了一个简单的JAVA应用程序,它作为服务运行。当我的应用程序启动并运行时,我将PID保存在一个文件中,该文件将在停止应用程序时使用。
问题:
当我重新启动操作系统时,不会调用停止脚本(不确定如何实现),旧的PID保留在PID文件中。现在,重启(启动我的应用程序)后,当我使用停止脚本停止应用程序时,我的停止脚本将尝试清理文件中列出的所有PID。大多数时候,我会得到“没有这样的过程”。但是有可能将相同的PID用于其他一些过程
问题:
当我关闭重启操作系统时,如何确保调用我的停止脚本?我正在寻找RHEL环境的解决方案。
答案 0 :(得分:0)
我认为你正在寻找一个init脚本。 (不同运行级别的启动/关闭服务)
这是一个很好的参考 http://blog.rimuhosting.com/2009/09/30/one-java-init-script/
这很好地引用了Linux init.d脚本
http://coreymaynard.com/blog/creating-a-custom-initd-script-on-fedora/
希望有所帮助
答案 1 :(得分:0)
如果您正在寻找重启后运行的脚本,我猜您可以在/etc/rc.local
中编写脚本,然后就可以开始使用。
此脚本将在您的计算机启动后运行所有init脚本后运行。使用此功能可以删除旧的PID文件。