Run Java console app as a daemon (background)

試著忘記壹切 提交于 2019-11-27 13:19:12

问题


I've developed a Java console application that when start, open a console window and remain in foreground, i want to start that application in background .

Now i launch the application by this command line :

java -jar myapp.jar

Is there a way to achieve this behaviour ? It's enough change the command line parameter or i need to do some change on my code ?


回答1:


The answer is operating system dependent.

*nix: <your command> &
Windows: (opens a new console): start <your command>
Windows: (doesn't open a new console): start /b <your command>



回答2:


If you are doing this in anything unix based then you can append & to the end which will spawn a new thread and keept it running in the background.

java -jar myapp.jar &



回答3:


If you really just want it to run in the background, java -jar myapp.jar & will do the job. That way, it'll still die when the shell closes, but you can keep using your shell.

If you really want it run as a daemon, nohup java -jar myapp.jar & will do the job. That way, it'll continue to live when the shell closes.

If you want this to be reliable, you can prepare an init script or upstart job definition, or run it via Vixie cron(8) @reboot specifier to make it start at boot.




回答4:


Given that you're using Windows, you might consider Java Service Wrapper. I have used it on a project in the past.



来源:https://stackoverflow.com/questions/6473071/run-java-console-app-as-a-daemon-background

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!