2012-01-05 76 views
2

我正在写一个在unix下运行的java程序。 它想要永远运行。但是,当我从命令行启动它时,我必须始终打开窗口,直到程序停止。 任何人都可以给我一些关于如何在后端运行它的想法吗?只需从命令行启动它,然后我就可以关闭该命令行。 非常感谢。关于unix下运行独立于命令行的程序

回答

2

如果你不想“守护进程”,它可以只使用nohup

$ nohup your-program & 
$ exit 

,你的程序将继续在后台运行,直到它完成。

1

你在问关于如何让你的程序成为“守护进程”。请查阅关于daemonizing java程序的theselinks以及关于在Linux中守护任何进程的this one

+1

可能矫枉过正 - 删除的答案只是在后台用'&'(或任何你的系统/ shell使用)可能会更好。 – 2012-01-05 00:34:33

+0

通常不允许您像OP要求的那样退出命令行。在我的机器上,运行'sleep 100&'然后退出shell会导致睡眠工作失败。 – 2012-01-05 00:35:44

1

...另一种选择是使用“屏幕”实用程序。如果你从未使用过它,那么它有点棘手,但是你可以做一些事情,比如在工作中在终端上启动一个工作,并轻松地从任何地方重新连接到同一个终端来检查工作状态。我使用它来连接到运行长时间运行作业的服务器。没有使用屏幕,如果我的本地机器崩溃,或电源熄灭,或火灾等,我的过程将会死亡等。

+0

+1屏幕。我前段时间用它来做类似的事情,比长时间运行的工作更好。 – Cemre 2012-01-05 00:57:29