如何在后台执行/提前返回?

如何在后台执行/提前返回?

作为参考,我使用phpseclib“root”帐户来控制远程 SSH 服务器。

我必须启动/停止在后台运行的java进程。停止工作正常killall java,这就是我现在所需要的,尽管当我运行服务器时,我正在使用:

(cd ./serv/; nohup java -classpath bin:deps/poi.jar:deps/netty.jar:deps/mysql.jar:deps/slf4j.jar:deps/slf4j-nop.jar:deps/jython.jar:log4j-1.2.15.jar: server.Server &)

正如您所看到的,我使用 & 运算符作为括号内的第二个命令。尽管页面会继续加载等待返回值/退出代码,但该命令会正确执行吗?它最终会耗尽我的网络主机上的所有内存。

答案是你需要手动定向 nohup 的输出:

编辑:回答!!

(cd ./serv/; java -classpath bin:deps/poi.jar:deps/netty.jar:deps/mysql.jar:deps/slf4j.jar:deps/slf4j-nop.jar:deps/jython.jar:log4j-1.2.15.jar: server.Server >/tmp/test.out 2>&1 &)

感谢 Mikeserv 的帮助。

答案1

cd ./serv/; java -classpath bin:deps/poi.jar:deps/netty.jar:deps/mysql.jar:deps/slf4j.jar:deps/slf4j-nop.jar‌​:deps/jython.jar:log4j-1.2.15.jar: server.Server >/tmp/test.out 2>&1 &

由 @mikeserv 提供答复,我应 @Sebastian 的要求发布它,以便将其从未答复的队列中删除(一年半后)。

相关内容